django如何上传图片(2023年最新分享)

导读:本篇文章首席CTO笔记来给大家介绍有关django如何上传图片的相关内容,希望对大家有所帮助,一起来看看吧。

Django:上传图片并显示

Django的静态文件有两类,分别为 static 和 media 。

增加 MEDIA_URL 和 MEDIA_ROOT

导入:

修改urlpatterns:

在本地调试需要将 setting.py 文件中, DEBUG 设置为 True

注意: upload_to 选项

使用nginx处理django静态文件, nginx.conf 文件 media 配置如下:

Django model.ImageFiled 图片的上传及显示

做项目中的一个坑。。

本来觉得在model里面定义了ImageFiled,能简化MySQL存取图片。事实上在读取静态图片的时候确实很方便,只需要相对路径正确即可。

eg:

但是当需要读取到用户自己上传的图片的时候,路径的问题就暴露出来了。

这个随便写写就好了

明明路径是对的,然鹅,Django觉得这个路径可能是别人家的

试试把这个路径静态了

呵,图片能够显示了。

于是继续满心欢喜地用到了正在进行的项目中

貌似有的地方还是不能用

图片也是路径诶,所以试着在urls.py加上一个匹配。

在许多博客里也找到了类似的操作,Django document中也有类似的说法

加入了类似的匹配之后

又能使用了。。为了避免白高兴一场,在自己的项目里面加入试一下

django如何上传图片(2023年最新分享)  第1张

android客户端如何上传图片到django

麻烦。自己下载一个upload的ajax库。然后配置好django的后台。

简单的办法就是,完全自己处理文件上传,用form来做。这个简单。就是界面差些。

django mongoengine FileField 上传图片问题,很急,高悬赏在线等,解决追加!

django上传图片:

from PIL import Image

def UploadImage(request):

if request.method == \'POST\':

content = request.FILES[\'ImageField\']

try:

img = Image.open(content)

#img.thumbnail((500,500),Image.ANTIALIAS)#对图片进行等比缩放

img.save(\"abv.png\",\"jpg\")#保存图片

except Exception,e:

return HttpResponse(\"Error %s\"%e)

return HttpResponse(\"ok\")

return HttpResponse(\"error\")

测试html:

body

div class=\"file-box\"

form action=\"\" method=\"post\" enctype=\"multipart/form-data\"

input type=\'text\' name=\'textfield\' id=\'textfield\' class=\'txt\' /

input type=\"file\" name=\"ImageField\" class=\"file\" id=\"ImageField\" size=\"28\" onchange=\"document.getElementById(\'textfield\').value=this.value\" /

input type=\"submit\" name=\"submit\" class=\"btn\" value=\"upload\" /

/form

/div

/body

Django REST framework编写图片上传接口并测试

在做接口自动化时,有时会遇到图片上传的接口,这时Content-Type就不是application/json。

这里使用DRF编写一个图片上传接口,并测试。

一、编写图片上传接口

首先创建一个我们希望用来存放文件的文件夹,并且在settings.py中配置路径:

在项目的urls.py中配置media的路由:

在应用的models.py中创建模型:

并且在serializers.py中创建序列化:

编写视图views.py:

给应用的urls.py配置路由:

最后我们测试一下:

结语:以上就是首席CTO笔记为大家介绍的关于django如何上传图片的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:59
下一篇 2023-09-23

相关推荐

发表回复

登录后才能评论