zoukankan      html  css  js  c++  java
  • Django 1.2.3 bug之STATIC_DOC_ROOT

    为了在使用development environment显示static files,比如css,images等等,参考http://docs.djangoproject.com/en/dev/howto/static-files/说明在settings.py添加


    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如下:
    D:\Python26\lib\ntpath.py in join
    1. path += "\\" + 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/',)

    从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]}),
  • 相关阅读:
    安卓远程工具介绍及下载地址
    kylinos-kysec介绍
    远程控制工具ToDesk介绍
    kylinos桌面和服务器系统重置密码
    APT仓库目录和repository目录结构
    使用LVM实现动态磁盘管理
    如何实现访问http自动跳转https
    TypeScript学习 ———— 四、泛型
    TypeScript学习 ———— 三、function
    TypeScript学习 ———— 二、接口
  • 原文地址:https://www.cnblogs.com/Jerryshome/p/1853148.html
Copyright © 2011-2022 走看看