【问题标题】:Django 'No file chosen' in FileInputFileInput中的Django“未选择文件”
【发布时间】:2020-09-18 17:29:15
【问题描述】:

我在这里有一个项目。我可以通过 /admin 面板添加照片。我尝试创建一个表单,这样我就可以添加照片,而不是通过管理面板。

我收到选择文件的错误。我不知道我的问题出在哪里。

我的模型

class Photos(models.Model):
    Photo = models.ImageField(upload_to='background',blank=True,null=True)

    class Meta:
        ordering = ('-pk','Photo')
    def __str__(self):
        return('Photos')

我的表单.py

class AddPhotosForm(forms.ModelForm):
    class Meta:
        model = Photos
        fields = ("Photo",)
    
        widgets = {
            "Photo":forms.FileInput(),}

我的意见.py

class AddPhotosView(CreateView):
    model = Contact
    form_class = AddPhotosForm
    template_name = "add_photo.html"
    success_url = reverse_lazy('photos')

urls.py

path('add_photo',AddPhotosView.as_view(), name='add_photo'),

我的 add_photo.html

{% extends "base.html" %}

{% block title %} Add Photo {% endblock %}
{% block content %}
<hr>
<article class="container" >
    <div class="btn-primary" style="padding:10px;border-radius:10px">Add Photo</div>
    <hr>

    <div>
      <div class="form-group">
        <form method="POST">
          {% csrf_token %}
          {{ form.media }}
          {{ form.as_p }}
        <button class="btn btn-outline-primary">Add</button><br><hr>
      </div>
    </div>
</article>
 {% endblock %}

【问题讨论】:

  • 你遇到什么样的错误
  • 当我尝试添加文件时它没有添加它告诉我保存时不存在文件
  • model = Contact有什么用

标签: python django file-io


【解决方案1】:

您需要将此添加到表单属性enctype="multipart/form-data",否则您的request.FILES 将为空。这用于所有文件模型字段 (FileField, ImageField)

【讨论】:

    猜你喜欢
    • 2016-05-14
    • 1970-01-01
    • 2017-05-31
    • 2013-04-20
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    相关资源
    最近更新 更多