不确定我做错了什么,但我无法让它发挥作用。我正在使用Django 1.3和Python 2.7。
我的项目结构如下:
project
static
templates
settings.py
apps
...
在我的settings.py文件中,我有
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.realpath(os.path.join(PROJECT_ROOT, 'static'))
STATIC_URL = '/static'
我的urls.py文件:
from django.conf.urls.defaults import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^grappelli/', include('grappelli.urls')),
)
urlpatterns += staticfiles_urlpatterns()
在我的模板中,我正在使用{{ STATIC_URL }}
创建文件的正确路径,如下所示:/static/js/libs/modernizr-2.0.6.min.js
。
我的静态文件都没有加载,我已经仔细检查了目录结构是否正确。我觉得我正在服用疯狂的药片,所以任何建议都表示赞赏。感谢
答案 0 :(得分:2)
您应该将完整路径添加到dir中,将静态文件放在settings.py中的STATICFILES_DIRS中,如下所示:
STATICFILES_DIRS = (
'/path/to/static',
)
答案 1 :(得分:0)
可以像上一个答案一样添加STATICFILES_DIRS,也可以将包含'static'dir的软件包目录放在INSTALLED_APPS中,因为django会在开发过程中自动为应用程序中的任何静态目录提供服务。如果您的project
目录不在python路径上而且您不打算将其导入,那么您必须定义STATICFILES_DIRS并将绝对路径放到静态目录中。