django 如何在HMTL中使用媒体media_url
2024-09-05 06:09:08
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>
最新文章
- 用ccproxy + stunnel做个加密代理
- iOS-网络请求-AFN升级至AFN3.0
- java 19 -13 FIle类的一些方法2
- 学习日记day9: PC端页面流程优化
- (01)odoo模型中调用窗体动作
- 第6章 影响 MySQL Server 性能的相关因素
- Android事件分发理解
- BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
- idea搜索jar中的类
- android ----- 分享的连接在手机上打开App
- Busybox镜像
- AOP-事物管理
- day12--装饰器
- python abc模块
- JavaScript常见的假值
- linux-Centos 7下bond与vlan技术的结合
- Android之间传递数据包
- Linux下XordDos木马的清除
- python3.5无法安装pip,报错ImportError: cannot import name &#39;HTTPSHandler&#39;
- IOS sqlite数据库增删改查
热门文章
- 【硬件模块】RFIDSetting
- docker-compose部署mysql,redis,rabbitmq
- idea中的springboot的maven项目报错Failed to clean project: Failed to delete D:\new_shunyi\shunyi\target\shunyi\WEB-INF\classes\static\
- 查看node.js全局安装的插件路径
- Spark Ignite踩坑记录
- The Second Week lucklyzpp
- vue3.0入门(二)
- 分享几个下载豆瓣资源的chrome插件
- APP 兼容性测试之云测平台体验
- vue 手机号码隐藏中间