【问题标题】:css in django templatesdjango模板中的css
【发布时间】: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”

标签: css django django-templates django-staticfiles


【解决方案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/'

    谢谢

    【讨论】:

      猜你喜欢
      • 2021-02-13
      • 2014-06-10
      • 2018-12-06
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-24
      • 2013-10-12
      • 2012-01-10
      相关资源
      最近更新 更多