2

抱歉,如果这听起来是一个愚蠢而冗长的问题,但我是 django 的新手,我已经搜索过这个问题,但我仍然无法解决我的问题。如果我要扩展 html,请说 home.html

{% extends "blog/home.html" %}

在另一个应用程序的 html 中,比如 article/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和view,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

,它试图从

[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

4

2 回答 2

0

STATIC_URL的 in 设置必须以斜杠结尾/。在本地,开发时应如下所示:STATIC_URL = '/static/'. 你有吗?

于 2013-08-28T23:00:34.720 回答
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' %}"/>
于 2013-08-29T04:31:50.597 回答