1

我在这里有点困惑,使用Wagtail(Django 变体 CMS),在 virtualenv,FastCGI,在共享主机上提供服务。

我的设置.py

import os

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..', '..')

DEBUG = False
TEMPLATE_DEBUG = DEBUG    
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..', '..')

    MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
    MEDIA_URL = '/media/'
    STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
    STATIC_URL = '/static/'
    STATICFILES_DIRS = ()

当我运行./manage.py collectstatic我的静态文件时,我的静态文件被正确编译成~/myproj/static但是 Django 模板调试坚持要查找~/env/lib/python2.7/staticcss 文件。如果我在那里上传我的个人 css 文件,它会弄乱 Wagtail 的 css。

此外,当我通过 Wagtail 仪表板上传图像时,它们会直接转到~/env/lib/python2.7/static

我在这里做错了什么?为什么不提供服务~/myproj/static

4

1 回答 1

2

Django 在生产模式 (DEBUG = False) 时有意不提供静态文件,因为您的网络服务器直接提供这些文件会更有效,并将 Django 排除在进程之外。由您来配置网络服务器来执行此操作,但Django 文档提供了一些指导。

(不过,我不知道您的 Django 安装从哪里获得 ~/env/lib/python2.7/static 。)

于 2014-04-04T23:12:39.213 回答