Django静态404的生产设置

时间:2015-09-07 10:20:13

标签: django static

我正在尝试在我的localhost上生成我的项目,但静态文件除了CDN之外都返回404。

- settings.py -

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

DEBUG = False

ALLOWED_HOSTS = ['127.0.0.1']

STATIC_ROOT = os.path.join(BASE_DIR, "static","static_root")

STATIC_URL = "/static/"

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static", "our_static"),
    # '/var/www/static/',
)

然后我在urls.py中有一些额外的代码,也许它可能会造成麻烦

- urls.py -

]+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

2 个答案:

答案 0 :(得分:0)

如果您使用Apache和WSGI运行Django,则可以在Django debug page layout is broken之后提供静态文件,并将所有静态文件放在/path/to/mysite.com/static/

答案 1 :(得分:0)

您的settings.DEBUG设置为False。因此,静态和媒体URL不会映射到相应的根设置。在设置文件中设置DEBUG = true或在 urls.py 中删除if条件。