在django中经常遇到要上传文件的需求,这里记录下如何配置用户上传的文件保存

首先在setting中添加

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 设置 templates 目录
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
# 配置了这个之后,就会把最底下的 MEDIA_URL 注册到 html ,这样 html 就能用 MEDIA_URL 变量
'django.template.context_processors.media',
],
},
},
]
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

在urls中添加

from django.views.static import serve #处理静态文件
from settings import MEDIA_ROOT urlpatterns = [
#配置上传文件的访问处理函数
url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),
]

最后在html里面需要用到的地方添加

{{ MEDIA_URL }}

就完成了

最新文章

  1. Medial Queries的另一用法——实现IE hack
  2. javascript数据结构-数组
  3. 弹层,iframe页面
  4. 安装cvxpy遇到的问题与解决方案(ubuntu14.10,python 2.7.8)
  5. Cocos2d-x解析XML文件,解决中文乱码
  6. [资料]pthreads PHP
  7. python语法笔记(四)
  8. Stm32 SWD 下载 调试配置
  9. 【剑指offer】面试题28:字符串的排列
  10. Delphi通过GetFileVersionInfo和VerQueryValue等API函数取得详细EXE信息
  11. Unity 捕获IronPython脚本错误
  12. 《k8s-1.13版本源码分析》-调度优选
  13. 论文阅读笔记四十:Deformable ConvNets v2: More Deformable, Better Results(CVPR2018)
  14. zrange 复杂度 O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数
  15. 【转载】【吵架】能力 说清自己的能力。表达清楚 ;别人发飙你也要撕b;换位思考,把自己当领导层
  16. 动态SQL2
  17. 写给IT技术爱好者的一封信
  18. C# Mongo Client 2.4.2判断是否存在表
  19. WBS功能分解及甘特图
  20. 页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片海洋,我只能呐喊:生命永不止息,学海无涯----够用就好。

热门文章

  1. MATLAB矩阵操作大全
  2. spring in action学习笔记一:DI(Dependency Injection)依赖注入之CI(Constructor Injection)构造器注入
  3. Java并发(1)- 聊聊Java内存模型
  4. 关于JSON的简介及取值以及常见面试题
  5. 结构型设计模式之代理模式(Proxy)
  6. jQuery文档处理(增加与删除文档)
  7. 安装python 科学计算库
  8. do_exit——&gt;exit_notify()【转】
  9. zabbix 硬盘状态收集,制作表格
  10. RobotFramework自动化3-搜索案例【转载】