كيف تصنع أنواع متعددة للمستخدمين عند التسجيل؟
-
02-10-2019 - |
سؤال
أنا أستخدم Django 1.2 وأريد أن يكون لدي نوعان من المستخدمين (واحد للشركات والآخر للمستشارين). سأستخدم كائنًا في النموذج الخاص بي (شيء مثل منطقية لـ IS_COMPANY أو IS_CONTULTANT) أو مجموعات DJANGO لتمييزها-الاعتماد على أي مشكلة أسهل لهذه المشكلة. أعتقد أنها لن تكون مشكلة كبيرة إذا لم أكن نوبًا كليًا ؛)
أنا أستخدم Django-Registration من أجل الواجهة الخلفية للمصادقة ، وسأحصل على نموذج منفصل على صفحة الويب الخاصة بي لكل نوع مستخدم (Company VS Consultant). لا أعتقد أنه من الأفضل إنشاء عرضين مختلفين متطابقين تقريبًا للحالتين ، لذلك أتساءل ما هي أفضل طريقة لتحديد/تسجيل المستخدمين الذين قاموا بالتسجيل كأي من النوعين.
شكرا لمساعدتك.
المحلول
هل تريد أن يختار المستخدم إذا كان مستشارًا أو شركة عند التسجيل؟ إذا كان الأمر كذلك ، يمكنك إنشاء النموذج الخاص بك عن طريق التصنيف الفرعي RegistrationForm
ثم اجتياز النموذج الجديد إلى معلمات التسجيل Django (اقرأ المستند حول كيفية القيام بذلك.)
لتصنيف النموذج الفرعي وإضافة الحقل الإضافي ، ستفعل شيئًا مثل:
from registration.forms import RegistrationForm
USER_TYPES = (
('consultant', 'Consultant'),
('company', 'Company'),
)
class MyRegistrationForm(RegistrationForm):
user_type = forms.ChoiceField(choices=USER_TYPES)
ومنذ ذلك الحين ، يجب عليك التقاط الإشارة والقيام بما تحتاجه مع بيانات النموذج Django-Registration له وثائق رائعة
أتمنى أن يكون هذا ما كنت تبحث عنه.
نصائح أخرى
بدلاً من النظر في المنشور ، يمكنك تمرير المعلومات في سلسلة الاستعلام. لذا فإن "زر" واحد (وهو مجرد رابط) يرتبط به /form?type=consultant
, والروابط الأخرى إلى /form?type=company
وبعد ذلك يمكنك الحصول عليها من المعلومات