2010-05-11 14 views
8

में पासवर्ड इनपुट का उपयोग करना मेरे पास एक Django साइट है जिसमें साइट एडमिन ट्विटर एपीआई का उपयोग करने के लिए अपने ट्विटर उपयोगकर्ता नाम/पासवर्ड इनपुट करता है। मॉडल इस तरह की स्थापना की है:एक CharField को व्यवस्थापक

class TwitterUser(models.Model): 
screen_name = models.CharField(max_length=100) 
password = models.CharField(max_length=255) 
def __unicode__(self): 
    return self.screen_name 

मैं व्यवस्थापक साइट की जरूरत है एक पासवर्ड इनपुट के रूप में password क्षेत्र प्रदर्शित करने के लिए, लेकिन यह कैसे करना है यह पता लगाने नहीं कर पा रहे। मैं एक ModelAdmin वर्ग, एक ModelForm के साथ एक ModelAdmin उपयोग करने की कोशिश की है, लेकिन यह पता लगाने कैसे Django प्रदर्शन है कि एक पासवर्ड इनपुट के रूप में के रूप में बनाने के लिए नहीं कर पा रहे ...

उत्तर

18

the docs से, आप अपने खुद के रूप का निर्माण कर सकते हैं, कुछ इस तरह:

from django.forms import ModelForm, PasswordInput 

class TwitterUserForm(ModelForm): 
    class Meta: 
     model = TwitterUser 
     widgets = { 
      'password': PasswordInput(), 
     } 

या आप यह like this कर सकते हैं:

from django.forms import ModelForm, PasswordInput 

class TwitterUserForm(ModelForm): 
    password = forms.CharField(widget=PasswordInput()) 
    class Meta: 
     model = TwitterUser 

मुझे नहीं पता कि जो एक बेहतर है है - मैं थोड़ा, पहले एक पसंद करते हैं यह आप अभी भी जीई हूँ मतलब है के बाद से अपने मॉडल से help_text और verbose_name टी।

बावजूद उन दो दृष्टिकोण ले की जिनमें से, आप तो व्यवस्थापक इस तरह से अपनी फार्म का उपयोग कर सकते हैं (अपने ऐप्लिकेशन के admin.py):

from django.contrib import admin 

class TwitterUserAdmin(admin.ModelAdmin): 
    form = TwitterUserForm 

admin.site.register(TwitterUser, TwitterUserAdmin) 
+0

मैं भी पहले एक के लिए जाना है, मैं कर रहा हूँ कह सकते हैं कि सुनिश्चित नहीं है कि पासवर्ड के लिए क्लीन विधि दूसरे संस्करण में समान होगी। – KillianDS

+0

धन्यवाद, मैंने इसे दस्तावेज़ों में देखा था, लेकिन 'admin.sserAdmin' को' admin.site.register' लाइन में जोड़ना भूल गया, इसलिए यह स्पष्ट रूप से सही काम नहीं कर रहा था। धन्यवाद! –

+0

@ पॉल - कोई समस्या नहीं, खुश मैं मदद कर सकता था! –

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