django定义接口处理文件上传问题-创新互联
1、设置配置文件
[root@localhost blog_project]# mkdir uploads 新建目录专门处理文件上传
[root@localhost blog_project]# vim blog_project/settings.py
MEDIA_URL = '/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
[root@localhost blog_project]# vim blog_project/urls.py
from django.conf import settings
urlpatterns = patterns('',
url(r'^$', 'blog.views.index'),
url(r"^uploads/(?P
"django.views.static.serve", \
{"document_root":settings.MEDIA_ROOT,}),
url(r'^admin/', include(admin.site.urls)),
[root@localhost blog_project]# vim static/js/kindeditor-4.1.7/config.js
KindEditor.ready(function(K) {
K.create('textarea[name=content]',{
width:800,
height:200,
uploadJson:'/admin/upload/kindeditor',
});
});
通过此次操作,可以执行上次头像变更操作。
2、掌握方法
研究下里面的serve方法
[root@localhost blog_project]# cat /usr/lib/python2.6/site-packages/django/views/static.py
def serve(request, path, document_root=None, show_indexes=False):
3、web端操作:
用户—root—添加头像
查看效果(这些效果均跟数据库创建的user相关)
生成目录:[root@localhost blog_project]# ls uploads/avatar/201610/2.jpg
浏览器设置:http://192.168.1.179:8000/uploads/avatar/201610/2.jpg
二、文本添加图片上传:
1、准备文件
[root@localhost blog_project]# vim blog/upload.py
编辑器需要特定的json格式。
#{"error":1, "message":"出错信息"}
#{"error":0, "url":"图片地址"}@csrf_exempt装饰器:不做远程表单csrf认证,省去验证
br/>@csrf_exempt装饰器:不做远程表单csrf认证,省去验证
2、添加url
[root@localhost blog_project]# vim blog_project/urls.py
from blog.upload import upload_image
url(r'^admin/upload/(?P
3、编辑工具添加一行
[root@localhost blog_project]# vim static/js/kindeditor-4.1.7/config.js
KindEditor.ready(function(K) {
K.create('textarea[name=content]',{
width:'800px',
height:'200px',
uploadJson:'/admin/upload/kindeditor',
});
});
4、上传成功,展示效果:
后台生成目录并存有照片
[root@localhost blog_project]# ls uploads/kindeditor/2016/10/ae9f8ba8-9023-11e6-b639-000c29875ae0.jpg
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:django定义接口处理文件上传问题-创新互联
文章网址:http://hbruida.cn/article/disscs.html