在Laravel中,我们使用old('field_name')
来显示之前的输入值。在Django表单模型中我该怎么做呢?我的意思是如果验证不成功,输入值将被删除。我希望它之前的值被保留,而不需要输入。
class AddMenuForm(forms.ModelForm):
def __init__(self,*args,**kwargs):
x=super(AddMenuForm, self).__init__(*args, **kwargs)
return x
class Meta:
model=Menu
fields="__all__"
widgets = {
'title': forms.TextInput(attrs={
'class': 'form-control',
'id':'inputname',
'placeholder': "نام آیتم"
}),
'url': forms.TextInput(attrs={
'class': 'form-control',
'id': 'inputurl',
'placeholder': " mr-keshi.ir /"
}),
查看次数:
class addMenu(FormView):
template_name = 'Menu/addMenu.html'
success_url = reverse_lazy('Menu')
form_class = AddMenuForm
def get_context_data(self, **kwargs):
if (self.kwargs['menu'] not in Menu.placeMenu):
# Todo: send error message
pass
data = super(addMenu, self).get_context_data(**kwargs)
data['places'] = Menu.placeMenu
data['place'] = self.kwargs['menu']
return data
def form_valid(self, form):
print("form valid")
menu = self.kwargs.get('menu')
if (menu in Menu.placeMenu):
form.save()
else:
pass
# Todo: send error message
# Todo:send success message
return True
def form_invalid(self, form):
print("form is not valid")
return super(addMenu, self).form_invalid(form)
1条答案
按热度按时间ru9i0ody1#
据我所知,您的意思是当提交无效表单时,字段字段应该在输入值中保持相同的无效值。
您没有在问题中添加所有相关文件。