【问题标题】:Newbie Guide For Adding CSS To Django 1.4 Templates将 CSS 添加到 Django 1.4 模板的新手指南
【发布时间】:2012-06-29 09:45:37
【问题描述】:

我真的很困惑。我正在使用 Django 1.4,我整天都在寻找这个,似乎最新版本的 Django 中的一切都发生了变化,并且文档根本​​没有帮助(至少对我来说)。请帮我将 CSS 文件附加到我的模板。

所以,这是我的 settings.py 文件

STATIC_ROOT = 'F:/Django/mysite/mysite/static/'

STATIC_URL = '/static/'

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

这是我的网址

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)
)

这是观点

def home(request):
    return render_to_response('home.html', locals(),context_instance=RequestContext(request))

最后是模板(home.html)

url: {{ STATIC_URL }}

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

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
)

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

url:

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

【问题讨论】:

    标签: css django django-templates django-static


    【解决方案1】:

    您似乎根本没有阅读说明。需要做的两件重要的事情是 1) 确保 static 处理器位于 TEMPLATE_CONTEXT_PROCESSORS 中,以及 2) 定义一些 URL 以实际为开发中的静态文件提供服务。

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

    【讨论】:

      【解决方案2】:

      '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(blah),在这种情况下是render(request, locals(), 'home.html')。

      【讨论】:

        【解决方案3】:

        STATIC_URL 不在您的本地范围内,因此通过 locals() 作为您的字典将无济于事。

        def home(request):
        return render_to_response('home.html', {'STATIC_URL': settings.STATIC_URL},context_instance=RequestContext(request))
        

        或者您可以使用 1.4 中可用的新 static 标记并避免模板中出现这个特殊问题:

        {% load static from staticfiles %}
        url: {% static "/" %}
        

        【讨论】:

          猜你喜欢
          • 2012-02-02
          • 2012-01-24
          • 2021-03-05
          • 1970-01-01
          • 2013-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-12
          相关资源
          最近更新 更多