django模板中的css

Posted

技术标签:

【中文标题】django模板中的css【英文标题】:css in django templates 【发布时间】:2012-09-19 14:18:31 【问题描述】:

我在 django 模板中使用 css 时遇到问题,

在我的settings.py 我有这个:

BASE_DIR = os.path.abspath(os.path.dirname(__file__) + '/')
STATIC_URL = BASE_DIR + '/static/'

在我的路径中,我有文件夹 "static/css/home_css.css"

在我的模板 home.html 我有链接标签:

<link rel="stylesheet" type="text/css" href=" STATIC_URL css/home_css.css" media="all" />

但它不能用于渲染 de css。 如果有人知道会发生什么,请

【问题讨论】:

为什么你的路径有.css文件? 这只是我的css所在的文件夹“static/css/home_css.css” 【参考方案1】:

STATIC_URL 不应指向文件系统中的路径。 STATIC_ROOT应该。

import os

STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = "/static/"

【讨论】:

【参考方案2】:

在您的settings.py 中添加'django.core.context_processors.static', TEMPLATE_CONTEXT_PROCESSORS,就像在这个例子中一样:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.core.context_processors.request',
    'django.contrib.messages.context_processors.messages',
)

编辑

如果您正在使用本地开发服务器,您的urls.py 中将需要这样的内容:

(r'static/(?P&lt;path&gt;.*)$', 'django.views.static.serve', 'document_root': '%s' % os.path.join(os.path.dirname(os.path.abspath(__file__)), 'static')),

【讨论】:

您使用的是开发服务器还是生产服务器(例如 apache)?当您在浏览器中键入 CSS 的 URL 时会显示什么?您是否收到 404 错误?【参考方案3】:

我解决了! 我将我的目录静态放入应用程序根路径,并设置 STATIC_URL = '/static/'

谢谢

【讨论】:

以上是关于django模板中的css的主要内容,如果未能解决你的问题,请参考以下文章

Django 模板中的动态内联 CSS 样式

尝试从 django 中的子模板加载 css 样式表

可以为 Django 中的扩展 html 模板定义一个单独的 css 文件吗?

包括 Django 中的 css

CSS 文件中的 Django 媒体 URL

Django 模板中的动态分页