首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CSS添加到Django 1.4模板的新手指南

将CSS添加到Django 1.4模板的新手指南
EN

Stack Overflow用户
提问于 2012-06-28 05:26:25
回答 3查看 505关注 0票数 0

我真的很困惑。我正在使用Django 1.4,我已经搜索了一整天,似乎在最新版本的Django中一切都发生了变化,文档一点帮助也没有(至少对我来说是这样)。请帮助我附加一个CSS文件到我的模板。

这就是我的settings.py文件

代码语言:javascript
复制
STATIC_ROOT = 'F:/Django/mysite/mysite/static/'

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    "F:/Django/mysite/mysite/static/",
)

这是我的urls

代码语言:javascript
复制
from django.conf.urls.defaults import *
from myste.views import hello, home
from django.views.static import *
from django.conf import settings

urlpatterns = patterns('',
    ('^home/$', home)
)

这是视图

代码语言:javascript
复制
def home(request):
    return render_to_response('home.html', locals(),context_instance=RequestContext(request))

最后是模板(home.html)

代码语言:javascript
复制
url: {{ STATIC_URL }}

哦,我不确定我应该在我的TEMPLATE_CONTEXT_PROCESSORS中放什么,但到目前为止就是这样了。

代码语言:javascript
复制
TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
)

这是我在运行服务器时得到的输出

代码语言:javascript
复制
url:

我知道这些代码中可能有一些巨大的错误,但那是因为我一直在阅读不同版本的django的不同来源。是的,我读过文档,但正如我所说的,它对我没有太大帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-28 05:40:59

你似乎根本没有读过说明书。要做的两件重要事情是: 1)确保static处理器在TEMPLATE_CONTEXT_PROCESSORS中;2)定义一些URL来实际为开发中的静态文件提供服务。

所有这些都没有“在最新版本中改变”。在之前的1.3版本中有一些改进,但基本原理是相同的。

票数 0
EN

Stack Overflow用户

发布于 2012-06-28 05:39:26

STATIC_URL不在您的本地作用域中,因此将locals()作为您的字典传递不会有什么帮助。

代码语言:javascript
复制
def home(request):
return render_to_response('home.html', {'STATIC_URL': settings.STATIC_URL},context_instance=RequestContext(request))

或者,您可以使用1.4中提供的新static标记,并在模板中避免此特定问题:

代码语言:javascript
复制
{% load static from staticfiles %}
url: {% static "/" %}
票数 0
EN

Stack Overflow用户

发布于 2012-06-28 05:40:38

'django.core.context_processors.media','django.core.context_processors.static',

根据this,这两个都应该在您的TEMPLATE_CONTEXT_PROCESSORS中。这使得STATIC_URL在使用请求上下文的所有上下文中都可用。如果您真的阅读了文档,并确保将它们设置为1.4,您将避免许多此类问题,并为自己省去许多令人头疼的问题。

你可能想使用render来省去一些麻烦和打字的麻烦。我通常会用render(request, context, template)把它换成render_to_request(诸如此类),在本例中就是render(request, locals(), 'home.html')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11235045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档