首页 > 代码库 > Django -> debug模式下的静态文件服务(/media/)
Django -> debug模式下的静态文件服务(/media/)
正式发布django项目的时候,如果存在静态文件(一般会统一放在名称为media或static的目录下),则需要建立url到文件系统的映射,例如,使用nginx的时候我们需要进行这样的配置.
# Django media location /media { alias /home/lyndon/github/Mathematician/dijkstra/media; } location /static { alias /home/lyndon/github/Mathematician/dijkstra/static; }
然后把页面的请求转发到web容器
因此,当使用django内置的调试服务器时,同样需要指定静态文件url和文件系统之间的映射关系.
修改url,添加静态文件的url规则
urlpatterns = patterns(‘‘, # Examples: # url(r‘^$‘, ‘catyblog.views.home‘, name=‘home‘), url(r‘^blog/‘, include(‘blog.urls‘)), url(r‘^admin/‘, include(admin.site.urls)), ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
修改settings.py,添加MEDIA_URL, MEDIA_ROOT
MEDIA_URL = ‘/media/‘ MEDIA_ROOT = os.path.join(BASE_DIR, ‘media/‘)
如此以来,便可在css文件或者html文件中直接以这样的方式使用静态文件
background-image: url(‘/media/img/bg.jpg‘);
总结
static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
只有在debug模式下才有作用.
它的功能只是实现了从url规则到文件系统的映射
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。