简单的 Django 图像上传 - 图像文件不保存

2024-05-13

是的,我正在学习如何制作一个简单的图像上传表单以将图像上传到 MEDIA_ROOT。表单呈现良好,我没有收到任何错误,但该文件未显示在 MEDIA_ROOT 目录中。如果遵循文档示例但无法使其工作,我知道这是因为我没有正确理解 django 文件上传处理。这是我的代码:

forms.py

from django import forms

class UploadImageForm(forms.Form):
    image = forms.ImageField()

views.py

def merchant_image_upload(request):
    if request.method == 'POST':
        form = UploadImageForm(request.POST, request.FILES)
        if form.is_valid():
            FileUploadHandler(request.FILES['image'])
            return HttpResponseRedirect('/dashboard/gallery')
    else:
        form = UploadImageForm()
    return render_to_response('gallery.html', RequestContext(request, {'form': form}))

模板文件

{% extends 'base.html' %}
{% block main %}
    <form action="{% url scvd.views.merchant_image_upload %}" method="post">{% csrf_token %}
        {{ form.image }}
        <input type="submit" value="Upload" />
    </form>
{% endblock %}

希望这些信息足以获得帮助。请让我知道我还能提供什么。谢谢你,我真的很感谢你的帮助。


您不需要将其附加到模型,如 Matt S 所说,如果您的表单设置正确,request.FILES 包含图像的所有数据。

您需要确保使用enctype="multipart/form-data"在您的元素中,如文档所述:https://docs.djangoproject.com/en/dev/ref/forms/api/#binding-uploaded-files-to-a-form https://docs.djangoproject.com/en/dev/ref/forms/api/#binding-uploaded-files-to-a-form

除此之外,请阅读有关文件上传的文档:https://docs.djangoproject.com/en/dev/topics/http/file-uploads/ https://docs.djangoproject.com/en/dev/topics/http/file-uploads/

您需要的一切都在那里有详细记录。希望这可以帮助!

编辑OP请求有关文件上传的更多信息

来自文档:

大多数时候,您只需将请求中的文件数据传递到 将上传的文件绑定到表单中所述的表单。这个会 看起来像:

from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response

# Imaginary function to handle an uploaded file.
from somewhere import handle_uploaded_file

def upload_file(request):
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['file'])
            return HttpResponseRedirect('/success/url/')
    else:
        form = UploadFileForm()
    return render_to_response('upload.html', {'form': form})

他们有一个例子告诉你如何写handle_uploaded_file功能:

def handle_uploaded_file(f):
    destination = open('some/file/name.txt', 'wb+')
    for chunk in f.chunks():
        destination.write(chunk)
    destination.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单的 Django 图像上传 - 图像文件不保存 的相关文章

随机推荐

  • 具有相同内容的拆分列表

    例如我有以下列表 contents i have two pens prices 5 made in and 我想将它们分开 使其具有与以下内容相同的内容 array 0 i have two pens array 1 prices 5 a
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 这个看不见的空间是如何创造出来的?

    FileTitle FileTitle false 第一个字符串和最后一个字符串之间有一个空格e and FileTitle length 12 FileTitle length 11 这两个字符之间存在代码为 8203 的 Unicode
  • 如何在android中以编程方式自动执行触摸

    我有一个RelativeLayout我想在不触摸屏幕的情况下执行触摸事件想要给出Toast如果它确实被触摸或没有被触摸 请抛出消息 我已经尝试过下面的方法 但它似乎不起作用 MotionEvent event MotionEvent obt
  • 嵌套命名空间

    我有这样的事情 namespace n1 namespace n2 class foo 在其他文件中我写道 using n1 为什么我现在无法输入以下内容 n2 foo smthing 以及如何使这样的事情成为可能 这是 C 特意制定的规则
  • DI:IDisposable 对象的处理寿命

    所以我正在开发我的 DI IoC 容器OpenNETCF IoC http ioc codeplex com我有一个 合理的 功能请求 为容器集合中的 IDisposable 项目添加某种形式的生命周期管理 我目前的想法是 由于我无法查询对
  • 如何实现 Azure Functions 的自定义绑定?

    Azure Functions 附带一组固定的预先存在的绑定 同时 Azure Functions基于Web Jobs SDK 具有一些可扩展性故事 https github com Azure azure webjobs sdk exte
  • Google javascript 登录 api:无法离线访问

    我正在尝试为服务器端应用程序实现 Google 登录 如 Google 文档中所示 服务器端应用程序的 Google 登录 https developers google com identity sign in web server si
  • Google Cloud / Firebase Functions,处理每个函数的依赖关系

    我们有几个需要大量依赖项才能工作的函数 我们有所谓的 jar npm lib 地狱正在发生 并且希望限制对函数的依赖 而不是项目级别的依赖 这可能吗 编辑 尝试按照 Doug 的指示重新表述问题 我们正在使用 Firebase 函数 并且希
  • EF - 从自动迁移转向手动迁移

    结束了漫长的一天测试各种场景 我不必重新创建生产数据库 我们从 EF 开始 在开发过程中没有足够明智地从自动迁移转向命名迁移 现在 我正在尝试倒带时钟 并创建与生产数据库一致的初始迁移 是否可以将模型与迁移表中的自动迁移进行对齐 我应该创建
  • 谷歌应用程序引擎nodejs本地开发

    有没有办法在本地运行我的nodejs应用程序 以便我可以模拟在生产App Engine中运行的应用程序而无需部署它 由于某种原因 我的应用程序在 Google App Engine 中的行为与我的本地主机不同 我厌倦了每次为了查看是否存在错
  • Zend Framework 2 在视图中显示视图

    我有两个模块管理和登录 我想在管理视图 index html 中显示登录视图 login phtml 我在管理模块indexAction控制器中有以下内容 public function indexAction login new Logi
  • Zend 框架 PDF 问题

    又是我 伙计们 我有一个小问题 Create new PDF pdf new Zend Pdf Add new page to the document page pdf gt newPage Zend Pdf Page SIZE A4 p
  • 如何使用对象标记上传到 AWS S3

    有没有办法使用标签将文件上传到AWS S3 不将标签添加到S3中的现有文件 对象 我需要让该文件与我的 Tags 一起出现在 S3 中 即在单个 API 调用中 我需要这个 因为我使用 Lambda 函数 使用这些 S3 对象标签 由 S3
  • ELEMENT.style.color 在 IE 中不起作用

    在一个小型 Web 应用程序中 我使用 JavaScript 在文本框中设置一些文本及其颜色 在下面的片段中 el 是我的对象 这段代码在 Firefox Opera 和 Safari 下产生了正确的效果 但在 IE 下却没有这样的运气 我
  • C++ 计算经过的时间

    我需要计算我的函数所花费的时间 现在我正在使用 std clock 据我了解 这是测量 CPU 时间 这可能与实时不同 std clock t start double duration start std clock someFuncti
  • webrtc - 获取网络摄像头的宽高比

    我正在尝试学习如何开发 webRTC 应用程序 我想知道是否可以获得相机的宽高比 我不知道它是否有帮助 但我正在使用 webrtc io 但是 if更好 我可以停止使用它 From MDN https developer mozilla o
  • 使用 X11 窗口的 R 脚本仅打开一秒钟

    我正在通过 Linux Mint 16 命令行运行 R 脚本 它包含我想在窗口中显示的箱线图 所以我使用 x11 函数来创建该窗口 这是我的代码 testdata lt data frame sample 1 1000 size 100 r
  • 尝试将 webpack-dev-server 上的端口更改为 80 会出现错误

    我的 json 包中有这个 webpack dev server config config webpack config js port 80 我还尝试将端口添加到配置中 如下所示 devServer historyApiFallback
  • 简单的 Django 图像上传 - 图像文件不保存

    是的 我正在学习如何制作一个简单的图像上传表单以将图像上传到 MEDIA ROOT 表单呈现良好 我没有收到任何错误 但该文件未显示在 MEDIA ROOT 目录中 如果遵循文档示例但无法使其工作 我知道这是因为我没有正确理解 django