Django文档上传问题未显示“未选择文件”

时间:2017-01-16 20:19:51

标签: django

我有以下表格:

    <form method="post" enctype="multipart/form-data">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Upload</button>
    </form>

这会产生一个表格(在[]括号中表示一个按钮):

**Document:**
[Choose File] no file selected
[Upload]

当我使用以下表格时:

        <form method="post" enctype="multipart/form-data">
            {% csrf_token %}
            {{ form.document }}
            <button type="submit">Upload</button>
        </form>

我没有在Safari中获得“没有文件选择”部分,但我在chrome中。是否有某种“form.something”允许我在任何浏览器中显示它。

表格如下:

class DocumentForm(forms.ModelForm):
    class Meta:
        model = Document
        fields = ('document', )

模型如下:

class Document(models.Model):
    user = models.ForeignKey(User)
    document = models.ImageField(upload_to=user_directory_path)
    uploaded_at = models.DateTimeField(auto_now_add=True)

手动示例的HTML输出(在chrome中):

    <form method="post" enctype="multipart/form-data">
        <input type='hidden' name='csrfmiddlewaretoken' value='2ZMTQTumTh5DS4nwVvAZv3IUSpM2o5LB' />
        <input id="id_document" name="document" type="file" />
        Document

        <button type="submit">Upload</button>
    </form>

enter image description here

手动示例的HTML输出(在safari中):

    <form method="post" enctype="multipart/form-data">
        <input type='hidden' name='csrfmiddlewaretoken' value='DTLKigyikubFrJqrh4AHR61Lmkyutrsw' />
        <input id="id_document" name="document" type="file" />
        Document

        <button type="submit">Upload</button>
    </form>

enter image description here

自动示例的HTML输出(在safari中):

                         

文件:

            上传         

非常感谢,艾伦。

1 个答案:

答案 0 :(得分:0)

如果没有像这样添加,你是否在views.py文件中包含了(request.FILES)。

def view(request):
   if request.method == 'POST':
       form = DocumentForm(request.POST,request.FILES)
       if form.is_valid():

       #Then Save your Form