为何指定字段后Django表单验证不通过?
表单验证异常及字段存储疑问
问题说明
我的表单只有直接渲染完整的{{ post_form }}时,才能通过验证并成功保存到数据库;但像现在这样单独指定字段渲染的话,验证就不通过,我推测是模板编写的问题。
另外想确认:所有字段都设置为非必填的情况下,理论上是不是可以将空值存入数据库?
相关代码片段
HTML模板代码
<section id="newpost-form"> <form action="{% url 'newpost' %}" method="POST" enctype="multipart/form-data"> {% csrf_token %} <label for="id_title">Title</label> {{ post_form.title }} <label for="id_image">Thumbnail</label> {{ post_form.image }} {{ post_form.content }} {{ post_form.media }} <!-- 用于content字段的CKEditor富文本编辑器资源 --> <button type="submit" class="btn">Create</button> </form> </section>
forms.py代码
class NewPost(forms.ModelForm): class Meta: model = Post fields = ['image', 'title', 'content', 'status', 'author',]
views.py核心代码
if request.method == 'POST': post_form = NewPost(request.POST, request.FILES) if post_form.is_valid(): # 计划在此处手动设置status和author字段的值 ...
我的需求
我不想在前端表单中显示status和author字段,打算在后端views.py里等表单验证通过(is_valid()执行成功后)再手动处理这两个字段的赋值。
内容的提问来源于stack exchange,提问作者Alexfb
相关产品推荐
相关产品推荐

