2017-06-29 14 views
0

フォームフィールドの1つにreadonly属性を追加したいと思います。私は、電子メールフィールドにreadonly属性を追加したいと思いログインユーザーのDjangoフォームフィールドの属性

class SiteAddFormFull(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(SiteAddFormFull, self).__init__(*args, **kwargs) 

     self.fields['group'] = forms.ModelChoiceField(
      queryset=Group.objects.filter(is_active=True), initial='Podstawowy', 
      help_text="<div id='group'><ul><li>Sample text</b></li></ul></div>", 
      label="Rodzaj wpisu") 

    url = forms.URLField(widget=forms.TextInput(attrs={'readonly': 'readonly'}), 
        label='Adres internetowy') 
    kod = forms.CharField(label="Kod premium", required=False) 
    user = forms.CharField(label="Nazwa użytkownika", 
widget=forms.TextInput(attrs={'readonly': 'readonly'})) 
    if user_is_authenticated: 
     email = forms.EmailField(label="Email adress", 
widget=forms.TextInput(attrs={'readonly': 'readonly'})) 
    name = forms.CharField(widget=forms.TextInput(attrs={'style': 'min-width:30%'})) 

:これは私のforms.pyファイルの一部です。私はここでどのように認証システムを使うことができるか分かりません。 user_is_authenticadedの代わりに何を入れるべきですか?すべての手がかりをありがとう。

答えて

0

私が追加:

email = self['email'].value() 

if email is not None: 
    self.fields['email'].widget.attrs.update({'readonly': 'readonly'}) 

super(SiteAddFormFull, self).__init__(*args, **kwargs)以下のすべてのユーザーが電子メールのフィールドがあります。それはうまく動作します。試行錯誤の1時間...それは解決される。ありがとう。

関連する問題