我是django新手,来自php世界。我无法想象如何使用django创建项目所需的某些输入字段。所以我手动将这些字段的html添加到模板中。即,我添加了复选框和菜单。在view.py中,我添加了代码以通过request.POST获取用户对复选框和菜单的选择。使用这些选择,我可以修改并保存表单的实例。
一切运作良好。唯一的故障是表单不验证。如果发生这种情况,我需要重新显示表单,并在顶部显示错误消息。所以我调用render来重新显示表单。重新显示的表单丢失了我自定义html的所有选项。即,自定义复选框和菜单被重置,但不是django创建的输入字段。有没有办法保存用户对自定义html的选择?感谢。
答案 0 :(得分:0)
您可以使用输入with this创建表单 要了解如何使用表单,see here 您可以使用自定义输入use ModelForms。
答案 1 :(得分:0)
<强> models.py 强>
class Debt(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=50,
help_text="Name to identify your debt.")
due_day = models.PositiveSmallIntegerField(
help_text="Day of the month payment is due.")
<强> forms.py 强>
class DebtForm(forms.ModelForm):
class Meta:
model = Debt
<强> views.py 强>
def add_debt(request):
if request.method == 'POST':
form = DebtForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'add_debt.html', {
'form': DebtForm(),
})
<强> add_debt.html 强>
<form method="post">{% csrf_token %}
{% for field in form %}
{{field}}<br/>
{% endfor %}
<input type="submit" value="Save Debt">
</form>