问题标签 [django-file-upload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1656 浏览

python - 即使 {% csrf_token %} 发布方法时文件上传错误和 csrf 错误

好的,我知道我有很多相同的问题,但我没有找到任何答案来解决我的问题。我是 Django 的新手,所以请记住。

我需要做一个从中上传文件的操作:

这是我的upload.py(这是一个views.py)

现在我的upload_done.py:

现在我从 Django doc 收到 403 csrf 错误,我无法理解模板(只能理解 file.html 应该与 views.py 的函数名称相同的名称)是如何工作的。

请帮助我如何使用发布方法和如何上传文件。谢谢提前...

我也试过这样(写在/home/user/myproject/template/upload_form.html)(注意:模板目录可以正常工作)

& 在上面的 2nd Views.py(即 upload_form.py)中,将 'Up_file = request.FILES['up_file']' 替换为此

但出现错误(必须返回 HttpResponse)

0 投票
0 回答
228 浏览

javascript - 通过javascript提交表单时request.FILES为空

我正在尝试在 django 中汇总一个包含文件的表单。形式如下,放置在模态对话框的主体中

我有一个 id = upload 的按钮,我的 js 代码如下所示

但是 request.FILES 是一个空字典。发布时如何不传递字典上的文件?

编辑:在你会说对的表格上放一些 enctype 怎么样?该死的我!!!请版主删除问题,如果他们不想保留它

0 投票
1 回答
173 浏览

python - Django 管理员服务上传的图像

我是 Django 的新手,我对如何解决这个问题感到困惑。

我有一个包含 ImageField 的模型,如下所示

然后在我的 settings.py 我有

我有以下 url 模式来处理这个

在管理页面中,我可以将图像完美地上传到媒体文件夹中的预期位置,并且可以通过加载 127.0.0.1:8000/media/img/my_image.jpg 来访问它。问题在于,在标准管理面板中,显示对象当前上传图像的链接只是将 media/img/my_img.jpg 附加到当前 URL 的末尾,因此会收到 404。

我不确定解决此问题的最佳方法是什么,我希望这是有道理的,如果需要更多信息,请告诉我。

谢谢。

0 投票
1 回答
1784 浏览

django - Django 模型表单图像字段不验证

我正在使用 Django Model Form 编写一个简单的视图,但是图像字段无法通过“此字段是必需的”错误消息进行验证。

我想知道问题出在哪里...

模型:

看法:

形式:

模板:

注意:当我从表单元字段中删除图像字段时,表单会验证。

注意:文件上传适用于这个模型的 Django Admin。

0 投票
2 回答
377 浏览

django - 上传的图像是 Django 中的静态文件吗?

我正在用 Django 1.6 开发一个应用程序,想知道我通过管理界面上传的照片是否是 Django 术语中的“静态文件”。

我有这个模型:

我使用它作为开发页面的基础,其中可以显示一个或多个图像以及标题和描述。图片只会由管理界面上传,页面的更多照片可能会在以后添加。

那么这些上传照片的“静态文件”呢?

0 投票
2 回答
294 浏览

django - 在网页中显示上传的媒体

朋友们,

我正在使用 Django 1.6,上周(!)一直在尝试在通过 Django 管理站点上传的网页上显示照片。

我知道这是一个常见的问题。我已经尝试阅读文档,像这个和这个这样许多 SO 问题都没有成功。

通过管理站点上传图像后,我可以看到图像存在于以下文件夹中:

但是,当页面加载(或通过管理站点上传图片后尝试查看图片)时,我看到 404 错误。图片来源显示如下:

model.py具有以下字段:

urls.py添加了以下内容:

模板是:

最后settings.py是:

我错过了什么?

0 投票
1 回答
328 浏览

ajax - 通过 Ajax 从外部向 django 服务器提交文件

从客户端A,我想通过 javascript 创建一个文件并通过 Ajax 将其发送到 Django 服务器B以进行进一步处理。

A中的 javascript 代码如下所示。我使用 blob 创建一个没有真正上传的文件并通过 Ajax 发送它。

但是,在 Django 服务器上,我得到的是这样的(当 i 时print request.POST),因此当我使用 Django FileUpload时,它返回了一个异常。

所以我猜上面的 javascript 没有做正确的事情来将文件发送到 Django 服务器。有什么合适的方法可以使用 FileUpload 来处理吗?

谢谢,

0 投票
1 回答
4479 浏览

django - Django - 将静态图像上传为默认 ImageField 文件

这是我的models.py:

现在,我希望将默认图像(位于我的静态文件夹中)保存到

功能。在我的 settings.py 中,我将 media_root 和 media_URL 定义为:

出于某种原因,当我在模板和模板中传递用户对象时,如果我这样做:

没有图像显示,当我在 chrome 中打开“检查元素”部分时,出现 404 错误:

即使这是图像的正确文件路径。(我也不确定它为什么要给出整个文件路径,难道它不应该从 /static/ 开始吗?即使我“查看源代码”,整个 url 都在那里。)我该如何做到这一点位于静态文件夹中的默认图像上传到提供的路径

功能?

0 投票
1 回答
525 浏览

python - Django 中 request.FILES 和 File 和处理程序中的奇怪行为

我有一个同时上传两个文件的请求。对象的 FILES 属性request如下所示:

我将两个文件都存储为变量:

然后,我将 Django 模型上的两个文件字段分配给这些文件以尝试保存它们,但只有分配给的文件字段被output正确保存,另一个应该包含历史内容的字段不包含任何内容。

尝试在调试器中解决此问题后,我发现我只能读取history一次的内容,然后history.read()返回一个空字符串:''. output可以读取任意多次,它仍然返回outputs的实际内容。

我尝试了一堆不同的hacky策略来保存内容history,包括使用创建新文件FileContentFile但似乎django正在无视我创建返回此内容的文件的任何尝试.read()

作为记录,history它包含大量采用有效 JSON 格式且大小约为 12k 的二进制数据。 file说它是:

Django的处理方式有什么我遗漏的history吗?

编辑:这是我要保存的模型上的字段(尽管我相信问题是在保存之前发生的):

这是保存模型的代码:

此问题出现在基于 View 的 CBV 的 post 方法中。我没有更改 Django 1.6.5 附带的任何默认文件处理设置

0 投票
3 回答
961 浏览

django - “解码器 jpeg 不可用”在 Elastic beanstalk 上使用 Django

我正在 Elastic beanstalk 上开发一个 Django 后端系统。

当我上传 JPEG 图像文件时,出现错误decoder jpeg not available。上传 .png 图像文件不会导致任何问题。

后端环境:

  • AWS beanstalk:运行 Python 2.7 的 64 位 Amazon Linux 2014.03 v1.0.4
  • 蟒蛇:2.7
  • pip 包列表 Django==1.6.5 Markdown==2.4.1 MySQL-python==1.2.5 Pillow==2.5.3 boto==2.30.0 django-filter==0.7 django-storages==1.1.8 djangorestframework ==2.3.14 wsgiref==0.1.2

导致错误的源代码:

看法

模型

错误代码:

/me/requests/ 解码器 jpeg 处的 IOError 不可用请求方法:GET 请求 URL: http:
//photoco-env-z5cnmns3pe.elasticbeanstalk.com/me/requests/Django版本:1.6.5异常类型:IOError异常值:解码器jpeg不可用异常位置:_getdecoder中的/opt/python/run/venv/lib/python2.7/site-packages/PIL/Image.py,第413行Python可执行文件:/opt/python/run/venv/bin/python Python 版本:2.7.5 Python 路径:['/opt/python/run/venv/lib/python2.7/site-packages', '/opt/python /current/app', '/opt/python/bundle/4/app', '/opt/python/run/baselinenv/lib64/python27.zip', '/opt/python/run/baselineenv/lib64/python2. 7', '/opt/python/run/baselinenv/lib64/python2.7/plat-linux2', '/opt/python/run/baselineenv/lib64/python2.7/lib-tk', '/opt/python /run/baselinenv/lib64/python2.7/lib-old','/opt/python/run/baselinenv/lib64/python2.7/lib-dynload','/usr/lib64/python2.7','/usr/lib/python2.7', '/opt/python/run/baselinenv/lib/python2.7/site-packages']

我试图解决这个问题的方法:

  • 我通过 SSH 连接到 beanstalk 服务器并使用 yum 安装在库下面
  • 百胜:libjpeg-devel,zlib-devel,freetype-devel

    • 然后进行符号链接

      $ sudo ln -s /usr/lib64/libjpeg.so /usr/lib $ sudo ln -s /usr/lib64/zlib.so /usr/lib $ sudo ln -s /usr/lib64/freetype.so /usr/库