【发布时间】:2014-09-03 04:28:47
【问题描述】:
我正在尝试从 myapp/static/myapp/css 加载 Django 中的 css 文件,但无法正常工作。 Chrome 控制台说它无法获取文件 (404)。
Settings.py:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_DIR = os.path.dirname(__file__)
...
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = ''
STATIC_URL = '/static/'
urls.py:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^projects/', include('projects.urls', namespace='projects')),
url(r'^home/', include('home.urls', namespace='home')),
)+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
主页 urls.py:
from django.conf.urls import patterns,url
from projects.views import DetailView, ListView
urlpatterns = patterns('',
url(r'^(?P<pk>\d+)/$', DetailView.as_view(), name='detail'),
url(r'^$', ListView.as_view(), name='list'),
)
base.html:
<link href="{% static 'home/css/bootstrap.min.css' %}" rel="stylesheet" media="screen">
<script src="{% static 'home/js/jquery-2.1.1.min.js' %}" type="text/javascript"></script>
【问题讨论】:
-
需要看
home.urls -
@GAEfan 我在上面添加了代码
-
我很困惑。你说你想从
myapp/static/myapp/css加载css文件,但是你从home/css/调用它们。哪个是正确的? -
@GAEfan 是的。感谢这个静态文件查找器:“django.contrib.staticfiles.finders.AppDirectoriesFinder”,django 搜索我从 home/ 提供的路线。我意识到我没有将家庭应用程序放在 INSTALLED_APPS 中,这就是它找不到文件的原因。
标签: django