django 如何在HMTL中使用媒体media_url中指定的路径

第一种:

一、

setting.py里,一般图片或者文件上传路径都是是以下设置,

MEDIA_URL = '/media/'   #访问路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  #上传路径

二、

项目app里url.py,设置如下

from django.conf import settings
from django.views.static import serve
urlpatterns = [url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT})]

三、

如果想在html中调用media_url的访问路径

# 首先在setting.py中 TEMPLATES 下面的 'context_processors': 里面添加 'django.template.context_processors.media',
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'front/templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',

在html中即可如此调用

<body><img src = "{{ MEDIA_URL }}{{ceshi}}"></body>


如果没有第三步设置,html中只能使用以下方式调用:

<img src = "/media/{{ceshi}}">

第二种:需要django版本>=1.7

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 然后通过添加启用media context_processors inTEMPLATE_CONTEXT_PROCESSORS TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
#here add your context Processors
'django.template.context_processors.media',
],
},
},
] 现在每个RequestContext都包含一个变量MEDIA_URL
现在你可以在你的访问中访问它 template_name.html
<p><img src="{{ MEDIA_URL }}/image_001.jpeg"/></p>

最新文章

  1. 用ccproxy + stunnel做个加密代理
  2. iOS-网络请求-AFN升级至AFN3.0
  3. java 19 -13 FIle类的一些方法2
  4. 学习日记day9: PC端页面流程优化
  5. (01)odoo模型中调用窗体动作
  6. 第6章 影响 MySQL Server 性能的相关因素
  7. Android事件分发理解
  8. BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
  9. idea搜索jar中的类
  10. android ----- 分享的连接在手机上打开App
  11. Busybox镜像
  12. AOP-事物管理
  13. day12--装饰器
  14. python abc模块
  15. JavaScript常见的假值
  16. linux-Centos 7下bond与vlan技术的结合
  17. Android之间传递数据包
  18. Linux下XordDos木马的清除
  19. python3.5无法安装pip,报错ImportError: cannot import name &#39;HTTPSHandler&#39;
  20. IOS sqlite数据库增删改查

热门文章

  1. 【硬件模块】RFIDSetting
  2. docker-compose部署mysql,redis,rabbitmq
  3. idea中的springboot的maven项目报错Failed to clean project: Failed to delete D:\new_shunyi\shunyi\target\shunyi\WEB-INF\classes\static\
  4. 查看node.js全局安装的插件路径
  5. Spark Ignite踩坑记录
  6. The Second Week lucklyzpp
  7. vue3.0入门(二)
  8. 分享几个下载豆瓣资源的chrome插件
  9. APP 兼容性测试之云测平台体验
  10. vue 手机号码隐藏中间