我有课程:
class Course(models.Model):
name = models.CharField(
max_length=255,
)
upload = models.FileField(upload_to='courses/')
当用户添加新课程时,它会提示我输入标题并选择文件。输入标题并选择文件后,会出现文件名。当我按下保存按钮,文件名消失,我收到消息“这个字段是必需的” 这是我的模板:
<form action="{% url "courses-new" %}" method="POST">
{% csrf_token %}
<ul>
{{ form.as_ul }}
</ul>
<input id="save_course" type="submit" value="Save" />
</form>
<a href="{% url "courses-list" %}">back to list</a>
答案 0 :(得分:3)
您应将表单输入设置为multipart/form-data
。像这样:
<form action="{% url "courses-new" %}" method="POST" enctype="multipart/form-data">
来自django-docs:
请注意,
request.FILES
仅包含请求方法的数据 是POST和发布请求的属性enctype="multipart/form-data"
。否则,request.FILES
将为空。