我想将readonly属性添加到表单字段之一。这是我的forms.py文件的一部分:
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%'}))
我想将readonly属性添加到电子邮件字段中。我不知道如何在这里使用身份验证系统。我该怎么做而不是user_is_authenticaded?谢谢你的任何线索。
答案 0 :(得分:0)
确定。我补充说:
email = self['email'].value()
if email is not None:
self.fields['email'].widget.attrs.update({'readonly': 'readonly'})
低于super(SiteAddFormFull, self).__init__(*args, **kwargs)
每个用户都有电子邮件字段。它工作正常。一小时的试验和错误......它已经解决了。感谢。