Django 1.2.3 bug之STATIC_DOC_ROOT
2010-10-16 17:06
337 查看
为了在使用development environment显示static files,比如css,images等等,参考http://docs.djangoproject.com/en/dev/howto/static-files/说明在settings.py添加
配置
同样在urls.py的patterns中添加
所有配置完成以后重启开发server,发现css不起作用,直接录入css路径,提示
从trace上来看
[/code]
STATIC_DOC_ROOT = os.path.join(DIRNAME, "media/"), #just used to display static files in development environment
配置
同样在urls.py的patterns中添加
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT}),
所有配置完成以后重启开发server,发现css不起作用,直接录入css路径,提示
can only concatenate tuple (not "unicode") to tuple 具体错误trace如下: [code]D:\Python26\lib\ntpath.pyin
joinpath += "\\" + b ...
Variable | Value |
---|---|
a | (u'E:\\Django\\Projects\\src\\NgInfoSys\\media/',) |
b | u'stylelog.css' |
b_wins | 0 |
p | (u'stylelog.css',) |
path | (u'E:\\Django\\Projects\\src\\NgInfoSys\\media/',) |
settings.STATIC_DOC_ROOT被解析成一个tuple,并且是unicode格式的。在django shell环境下可以验证这一点儿,具体trace如下:
from django.conf import settings
print settings.STATIC_DOC_ROOT
(u'E:\\Django\\Projects\\src\\NgInfoSys\\media/',)
不知道django1.2.3是怎么处理的,settings.STATIC_DOC_ROOT理应返回一个字符串,可不知为什么却返回一个unicode的tuple。为解决这一问题,可以临时将
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT}),
更改为(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.STATIC_DOC_ROOT[0]}),
[/code]
相关文章推荐
- Django的MEDIA_ROOT和STATIC_ROOT--显示上传图片
- django static_root static_url media_root mdia_url详解
- Django ====> 1.4版本静态文件路径设置--MEDIA_ROOT,MEDIA_URL, STATIC_ROOT, STATIC_URL学习
- django 配置中STATICFILES_DIRS 和STATIC_ROOT不能同时出现
- Django下MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL解惑
- django static_root static_url media_root mdia_url详解
- Django中--debug改为False时,需要将静态文件配置到STATIC_ROOT中
- django中STATIC_ROOT和STATICFILES_DIRS区别 及MEDIA_ROOT
- Django project structure: how does static folder, STATIC_URL, STATIC_ROOT work
- Django ====> 1.4版本路径设置(续)--staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS介绍
- Django的MEDIA_ROOT和STATIC_ROOT
- Django - staticfiles,STATIC_ROOT, STATIC_URL,STATICFILES_DIRS
- [Django1.6]The MEDIA_ROOT and STATIC_ROOT settings must different 解决
- django static_root static_url media_root mdia_url详解
- [Django1.6]The MEDIA_ROOT and STATIC_ROOT settings must different 解决
- Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
- Django的MEDIA_ROOT和STATIC_ROOT(转)
- django STATIC_URL STATIC_ROOT MEDIA_URL MEDIA_ROOT
- django static_root static_url media_root mdia_url详解
- Django的MEDIA_ROOT和STATIC_ROOT