UpdateView 中的替代形式 [关闭]
Posted
技术标签:
【中文标题】UpdateView 中的替代形式 [关闭]【英文标题】:Alternative form in UpdateView [closed] 【发布时间】:2018-05-15 05:32:51 【问题描述】:我可以在 UpdateView 中使用替代形式吗?我的意思是如果它已经创建了 .我尝试使用'form_class',但它有异常:“ init() 得到了一个意外的关键字参数 'instance'"
Form:
class ProfileForm(forms.Form):
name = forms.RegexField(regex=r'^\D+$', error_messages='invalid':'Error Name', label='', widget=forms.TextInput("placeholder": 'Имя'),)
surname = forms.RegexField(regex=r'^\D+$', error_messages='invalid':'Surname Name', label='', widget=forms.TextInput("placeholder": 'Фамилия'),)
patronymic = forms.RegexField(regex=r'^\D+$', error_messages='invalid':'Patrh Name', label='', widget=forms.TextInput("placeholder": 'Отчество'),)
address = forms.RegexField(regex=r'^\D+$', error_messages='invalid': 'Address incorrect', label='', widget=forms.TextInput("placeholder": 'Массив/Улица'), required=True)
flat = forms.RegexField(regex=r'^\d+\w+$', error_messages='invalid':'Invalid Flat', label='', widget=forms.TextInput("placeholder": 'Квартира'),)
home = forms.RegexField(regex=r'^\d+\w+$', error_messages='invalid':' Invalid Home', label='', widget=forms.TextInput("placeholder": 'Дом'),)
contact_number = forms.RegexField(regex=r'^\+?998\d9,15$', error_messages='invalid':'Номер должен начинаться с +998', label='', widget=forms.TextInput("placeholder": 'Контанктный номер '),)
prefering_connection = forms.DateField(widget=forms.widgets.DateInput(attrs='type': 'date'))
tarrif = forms.ChoiceField(choices=Profile.tarrif_plans, label='Тарифный план')`
View:
class Edit(UpdateView):
model = Profile
form_class = ProfileForm
template_name = 'edit.html'
【问题讨论】:
form_class 可以使用。问题必须与您的表格有关。请同时使用您的表格更新您的问题。 @SandeepBalagopal 我做到了,你能帮帮我吗^_^? 【参考方案1】:您应该使用带有 UpdateView 的 ModelForm 而不是 forms.Form。
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
【讨论】:
我很高兴,谢谢!以上是关于UpdateView 中的替代形式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章