Warm tip: This article is reproduced from serverfault.com, please click

Django-找不到静态文件

(Django - Static file not found)

发布于 2011-05-16 08:14:19

我已经看到过数篇有关此问题的文章,但没有找到我的解决方案。

我正在尝试在Django 1.3开发环境中提供静态文件。

这是我的设定

...
STATIC_ROOT = '/home/glide/Documents/django/cbox/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
  '/static/',
)
...

我的urls.py

urlpatterns = patterns('',
...
  url(r'^static/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root', settings.STATIC_ROOT}
  ),
...
);

我的/ home / glide / Documents / django / cbox / static /目录就像

css
  main.css
javascript
image

尝试访问http://127.0.0.1:8000/static/css/main.css时出现404错误

我是否必须分别为CSS,JavaScript和图像指定模式?

Questioner
Pierre de LESPINAY
Viewed
0
Pierre de LESPINAY 2014-12-05 15:59:29

我混淆了STATIC_ROOTSTATICFILES_DIRS

实际上,我并不是很了解STATIC_ROOT的实用程序我以为这是我必须放置公用文件的目录。该目录用于生产,这是collectstatic将放置(收集)静态文件的目录

STATICFILES_DIRS是我所需要的。

由于我处于开发环境中,因此对我来说,解决方案是不使用STATIC_ROOT(或指定其他路径),而在STATICFILES_DIRS中设置我的公用文件目录

#STATIC_ROOT = (os.path.join(SITE_ROOT, 'static_files/'))
import os
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
STATICFILES_DIRS = (
  os.path.join(SITE_ROOT, 'static/'),
)

也别忘了 from django.conf import settings