Django FileField,无法上传

时间:2016-03-29 11:07:55

标签: django forms file model

我有课程:

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>

1 个答案:

答案 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将为空。