django定義接口處理文件上傳問題
[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"^uploads/(?P<path>.*)$", \
"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) {
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—添加頭像
生成目錄:[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<dir_name>[^/]+)$‘, upload_image, name=‘upload_image‘),
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
django定義接口處理文件上傳問題