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

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

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="http://127.0.0.1:8000/UploadImage" 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的静态文件有两类,分别为 static 和 media 。

增加 MEDIA_URL 和 MEDIA_ROOT

导入:

修改urlpatterns:

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

注意: upload_to 选项

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

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

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

一、编写图片上传接口

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

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

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

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

编写视图views.py:

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

最后我们测试一下:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7857117.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存