Django网站七牛上传图片遇到出错信息如何捕获
是这样的,我的 Django 网站上的用户需要直接传图片到七牛,
上传图片我已经处理好了,关键是上传的后续过程。
我把那个用户上传图片后重定向的 returnUrl = "http://localhost:8000/returnpage" 的view
函数这么写:
import base64
import json
def return_page(request):
domain = "ddkanhuo.qiniudn.com" #这是我的七牛空间地址
ret = request.GET['upload_ret'] # 读取返回的upload_ret
fileinfo = json.loads(base64.decodestring(ret))
if fileinfo.get('error'):
error_message = fileinfo['error']
return render(request, 'return_page.html', {'error_message': error_message})
else:
key = fileinfo['key']
public_url = 'http://'+ domain + '/' + key
return render(request, 'return_page.html', {'public_url': public_url})
然后return_page.html
大概是这样的(如果上传发生错误就显示错误消息,上传成功则显示图片):
<html>
.....
{% if error_message %}
{{ error_message }}
{% else %}
<p><img src="{{ public_url }}">
{% endif %}
.....
</html>
但是问题是呢,如果图片上传成功了,确实会按照预想的那样显示图片;
但是如果上传图片失败了,并不会显示错误消息,而会发生错误:
MultiValueDictKeyError at /returnpage/ "'upload_ret'"
这个应该怎么办,错误出在哪里的?
Django 新人求教,七牛的文档真是太难懂了...
今天我也遇到这个问题了,这么久了不知道你解决了没。图片上传出错后直接就没有upload_ret这个returnBody了,错误信息直接在url里显示出来了。
我也是使用的django,我觉得我的项目没有必要主动上传到七牛,于是我使用了七牛的镜像功能,设置django的MEDIA_URL = 'http://xxxx.qiniudn.com/media/'。直接指向你的子域名,如(http://static.sample.com/)。镜像功能会主动去下载访问到的图片,不需要在程序里主动传到七牛,减少了很多上传失败的风险。缺点是有可能第一次访问该图片的时候速度稍慢,我觉得到是可以接受这个速度。
django项目里的图片如果做了修改,我的做法是在程序里向七牛提交删除key的指令,然后前台访问的时候加上版本参数,如:http://xxxx.qiniudn.com/media/123.jpg?v=123456,可以强制七牛刷新cdn缓存。缺点是好像刷新还是需要一点时间才能同步。
你好,能分享一下怎么在django中上传图片的代码吗? 弄了好久,图片都还上传不了。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19508.html
相关文章 Recommend
- • mozio招聘Python/Django工程师
- • 如何为实时性应用存取经纬度?django mysql
- • 使用django在做添加superuser操作时报错\xBA\xA3像是乱
- • django-1.x windows环境 Error: 'SafeUnicode' object has no a
- • django中url无法include怎么配置?
- • 求分析django工程目录里找不到导入模块原因
- • 我的网站爬虫python代码为什么不能正常运行,哪里
- • python2.7配Django1.4GAE方面需要做什么调整
- • django admin SAE样式无法正常显示有图
- • 更新Django ManyToMany字段要注意哪些要点
- • Python可以做局域网线聊天类型的网站吗?
- • Django 1.3统一验证表单中复数文本框进的简便方法
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
- • qiniu pythonsdk提示ImportError错误求解
- • 问一个关于Hadoop Python中读写文件统计分析
- • 求问str()同__str__原理上有什么不同,分别在
- • 大神帮忙看下20行的python代码,文件io和数
- • python 爬虫爬wiki 报错 [Errno 65] No route to
- • python续点上传问题None bad token...
- • python3环境下文本中超链接出错,要如何修
- • Python环境保存操作思路问题求助
图文精华 RECOMMEND
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
-
python里面为什么系统的时区是东八
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问