V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
pythonee
V2EX  ›  Python

django 把 debug 设成 False 之后...

  •  
  •   pythonee · 2015-05-27 11:10:58 +08:00 · 2880 次点击
    这是一个创建于 3475 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开始没有改ALLOWED_HOST,返回Bad Request,知道自己错了,后面设置成ALLOWED_HOST = [ '*', ],可以正常访问,但是,悲剧的是,就一个页面出了问题,发现这个页面的static的不好使了,一旦去掉这些static,页面还是可以渲染,关键在本地这个问题又重现不出来
    4 条回复    2015-05-27 16:08:12 +08:00
    yakiang
        1
    yakiang  
       2015-05-27 11:26:48 +08:00
    debug = False 时就不支持 static 了,自己用 Nginx 之类的来代理静态文件
    pythonee
        2
    pythonee  
    OP
       2015-05-27 11:47:00 +08:00
    @yakiang 已经做了,其他页面也没有问题,可就一个页面有问题,去掉一些含有{%static }的,页面可以渲染出来,关键另外一个环境没有问题
    zbing3
        3
    zbing3  
       2015-05-27 13:58:41 +08:00
    尝试着用 https://github.com/kennethreitz/dj-static 项目 看看, 不过线上确实应该用nginx靠谱一点
    shiziwen
        4
    shiziwen  
       2015-05-27 16:08:12 +08:00
    当debug=True的时候,Django是自动完成static相关的设置的。
    楼主有些页面没有渲染出来,应该是一些静态文件没有找到。
    当debug=False的时候,需要手动指定。
    在url.py文件里面,添加如下代码即可:

    if not settings.DEBUG:
    #urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += patterns('',url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT,}),)

    如果是debug=False一般是线上部署时使用的,这个时候建议用nginx等服务器进行静态文件的处理。

    附上一些参考:
    http://www.tangowithdjango.com/book17/chapters/templates_static.html#static-media-files-and-templates
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   920 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:53 · PVG 04:53 · LAX 12:53 · JFK 15:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.