导读:本篇文章首席CTO笔记来给大家介绍有关django代码如何实现图片上传的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、Django:上传图片并显示2、django上传图片并且带有预览功能3、Django REST framework编写图片上传接口并测试4、django mongoengine FileField 上传图片问题,很急,高悬赏在线等,解决追加!5、Django model.ImageFiled 图片的上传及显示Django:上传图片并显示
Django的静态文件有两类,分别为 static 和 media 。
增加 MEDIA_URL 和 MEDIA_ROOT
导入:
修改urlpatterns:
在本地调试需要将 setting.py 文件中, DEBUG 设置为 True
注意: upload_to 选项
使用nginx处理django静态文件, nginx.conf 文件 media 配置如下:
django上传图片并且带有预览功能
就用uploadfy呗,JS中在返回成功之后你自己在HTML中写个img标签,把返回的URL丢到IMG里不就完了,我们也用这个插件,还不错
Django REST framework编写图片上传接口并测试
在做接口自动化时,有时会遇到图片上传的接口,这时Content-Type就不是application/json。
这里使用DRF编写一个图片上传接口,并测试。
一、编写图片上传接口
首先创建一个我们希望用来存放文件的文件夹,并且在settings.py中配置路径:
在项目的urls.py中配置media的路由:
在应用的models.py中创建模型:
并且在serializers.py中创建序列化:
编写视图views.py:
给应用的urls.py配置路由:
最后我们测试一下:
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 model.ImageFiled 图片的上传及显示
做项目中的一个坑。。
本来觉得在model里面定义了ImageFiled,能简化MySQL存取图片。事实上在读取静态图片的时候确实很方便,只需要相对路径正确即可。
eg:
但是当需要读取到用户自己上传的图片的时候,路径的问题就暴露出来了。
这个随便写写就好了
明明路径是对的,然鹅,Django觉得这个路径可能是别人家的
试试把这个路径静态了
呵,图片能够显示了。
于是继续满心欢喜地用到了正在进行的项目中
貌似有的地方还是不能用
图片也是路径诶,所以试着在urls.py加上一个匹配。
在许多博客里也找到了类似的操作,Django document中也有类似的说法
加入了类似的匹配之后
又能使用了。。为了避免白高兴一场,在自己的项目里面加入试一下
结语:以上就是首席CTO笔记为大家整理的关于django代码如何实现图片上传的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~