Django 1.2.3 bug之STATIC_DOC_ROOT
时间:2010-10-16 来源:Jerry.Kuan
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',所有配置完成以后重启开发server,发现css不起作用,直接录入css路径,提示
{'document_root': settings.STATIC_DOC_ROOT}),
can only concatenate tuple (not "unicode") to tuple
具体错误trace如下:
D:\Python26\lib\ntpath.py in join
从trace上来看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]}),
具体错误trace如下:
D:\Python26\lib\ntpath.py in join
- path += "\\" + b ...
从trace上来看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]}),
相关阅读 更多 +