我正在尝试提交表单,但它不会在视图中以is_valid
传递。
表单使用了form.Modelforms,我没有很多经验。
我在模板中检查了{{ form.errors }}
,但没有得到任何回复。
我感谢时间和专业知识
表格
class AddSubcategory(forms.ModelForm):
class Meta:
model = Subcategory
fields = ['category']
subcategory_name = forms.CharField(max_length=255)
查看
@login_required
@locationed
def add_subcategory(request, location):
subcat_form = AddSubcategory(request.POST)
if subcat_form.is_valid():
submitted_subcat_name = subcat_form.cleaned_data['subcategory_name']
selected_cat = subcat_form.cleaned_data['category']
_, was_created = Subcategory.objects.get_or_create(name=submitted_subcat_name, category=selected_cat)
return HttpResponseRedirect(reverse('manage_cat_subcat', args=(location.slug,)))
else:
cat_form = AddCategory()
subcat_form = AddSubcategory()
return render(request, 'inventory/manage_cat_subcat.html', {'location': location,'cat_form': cat_form,'subcat_form':subcat_form})
模板(表单)
<form class="form-inline" action="{% url 'add_subcategory' location.slug %}" method="post">
{% csrf_token %}
{{subcat_form.category}}
{{subcat_form.subcategory_name}}
<button class="btn btn-small" type="submit">Add Subcategory</button>
</form>
答案 0 :(得分:2)
您在需要id, category and name
的字段中指定,但不要将其放在模板中的表单中。
您只有category and subcategory_name
。
您可以在模板中添加这两个元素,也可以从字段列表中删除它们。
此外,您没有为表单指定操作,您应该提供表单中数据发送的视图。