2010-07-06 12 views
5

मैं Django 1.2 का उपयोग कर रहा हूं और मैं दो उपयोगकर्ता प्रकार (एक कंपनियों के लिए और एक सलाहकार के लिए) चाहता हूं। मैं या तो अपने मॉडल में एक ऑब्जेक्ट का उपयोग करूंगा (is_company या is_consultant के लिए बूलियन की तरह कुछ) या Django के समूह उन्हें अलग करने के लिए - इस समस्या के लिए जो आसान है, इस पर निर्भर करता है। मुझे लगता है कि अगर मैं कुल नोब नहीं था तो यह बहुत अधिक समस्या नहीं होगी;)साइन अप करते समय एकाधिक उपयोगकर्ता प्रकार कैसे बनाएं?

मैं अपने प्रमाणीकरण बैकएंड के लिए django-पंजीकरण का उपयोग कर रहा हूं, और मेरे पास प्रत्येक उपयोगकर्ता के लिए मेरे वेबपृष्ठ पर एक अलग रूप होगा प्रकार (कंपनी बनाम परामर्शदाता)। मुझे नहीं लगता कि दो अलग-अलग विचारों को बनाने के लिए सबसे अच्छा है जो दो मामलों के लिए लगभग समान हैं, इसलिए मैं सोच रहा हूं कि दो प्रकार के रूप में साइन अप करने वाले उपयोगकर्ताओं की पहचान/पंजीकरण करने का सबसे अच्छा तरीका क्या है।

आपकी मदद के लिए धन्यवाद।

उत्तर

2

क्या आप चाहते हैं कि उपयोगकर्ता पंजीकरण के समय सलाहकार या कंपनी हो या नहीं? यदि हां, तो आप 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 has great documentation

आशा है कि आप के लिए क्या कर रहे थे lookign साथ की जरूरत है क्या करना चाहिए।

+0

बार्टक से आपकी सहायता के लिए धन्यवाद प्राप्त कर सकते हैं। मैं दो साइनअप "मार्ग" होने की उम्मीद कर रहा था; दो सलाहकार जैसे 'सलाहकार, यहां शुरू करें' और 'कंपनियां, यहां शुरू करें' लेकिन एक दृश्य। मैं प्रत्येक व्यक्ति को एक अलग दृश्य में ले रहा था। यह मुझे django-y प्रतीत नहीं होता था। मुझे एक दृश्य चाहिए जो आंकड़े बताता है कि कौन सा बटन दबाया गया था और उपयोगकर्ता_ टाइप या समूह के आधार पर इसका चयन करता है। मैंने बटन मान या नाम का उपयोग करने की कोशिश की, और अनुरोध में इसकी तलाश की। सबसे पुरानी जानकारी, लेकिन इसे नहीं मिला। – Tim

1

पोस्ट में देखने के बजाय, आप क्वेरी स्ट्रिंग में जानकारी पास कर सकते हैं। तो एक "बटन" (जो वास्तव में केवल एक लिंक है) /form?type=consultant के लिंक, और /form?type=company के अन्य लिंक और फिर आप इसे GET जानकारी

संबंधित मुद्दे