很抱歉,如果这听起来像一个愚蠢而又长的问题,但我是django的新手,我已经搜索了这个问题,但仍然无法解决我的问题。 如果我正在扩展html,请说home.html
{% extends "blog/home.html" %}
在另一个应用的HTML中,说文章/ id.html;和blog / home.html有自己的静态文件,打开id.html时会加载style.css吗?
我的问题是,在myproject文件夹下,包含urls.py等的文件夹,我创建了一个名为templates的目录
|--myproject
| |--blog
| | |-- templates
| | | |-- blog
| | | | |-- home.html
| | |-- static
| | | |-- css
| | | |-- styles.html
| | |-- __init__.py
| | |-- models.py
| | |-- tests.py
| | |-- urls.py
| | |-- views.py
| |--article
| | |-- templates
| | | |-- article
| | | | |-- id.html
| | |-- __init__.py
| | |-- models.py
| | |-- tests.py
| | |-- urls.py
| | |-- views.py
| |--myproject
| | |-- templates
| | | |-- myproject
| | | | |-- login.html
| | | | |-- logout.html
| | | | |-- loggedin.html
| | |-- __init__.py
| | |-- models.py
| | |-- tests.py
| | |-- urls.py
| | |-- views.py
我修改了myproject的网址和视图,urls.py:
url(r'^blog/', include('blog.urls')),
url(r'^article/', include('article.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/login/$', views.login, name='login'),
url(r'^accounts/logout/$', views.logout, name='logout'),
url(r'^accounts/loggedin/$', views.loggedin, name='loggedin'),
这些login.html,logout.html,loggedin.html和id.html都扩展到home.html。 出于某种原因,当我运行我的服务器并尝试转到
时localhost:8000/accounts/login
,它试图从
获取styles.css[27/Aug/2013 23:34:06] "GET /accounts/login/css/styles.css HTTP/1.1" 404 2875
不是来自
static/css/styles.css
正如我所料,但是当我尝试从文章应用程序打开id.html时它工作正常。
这就是我在blog / home.html
中导入css的方式<link rel="stylesheet" type "text/css" href="{{ STATIC_URL }}css/styles.css"/>
我做错了吗?我怎样才能让myproject html使用博客应用程序中的静态文件?注意我正在使用Django 1.5
答案 0 :(得分:0)
您的STATIC_URL
个设置必须以斜杠/
结尾。在本地,开发时应如下所示:STATIC_URL = '/static/'
。你有吗?
答案 1 :(得分:0)
似乎改变了我在htmls中检索静态文件的方式修复了问题。 我以前这样做过:
<link rel="stylesheet" type "text/css" href="{{ STATIC_URL }}css/styles.css"/>
并将其更改为固定它:
<link rel="stylesheet" type "text/css" href="{% static 'css/styles.css' %}"/>