【问题标题】:.css won't affect my template in django.css 不会影响我在 django 中的模板
【发布时间】:2013-02-21 07:01:40
【问题描述】:

我目前正在编写我的第一个 django-app,但正如预期的那样遇到了一些问题。

我目前正在努力解决的问题是将 css 链接到我的模板文件。我一直在搜索 stackoverflow,但我发现似乎没有任何效果。

我目前正在运行 django 1.4.2

在我的设置中,我启用了 staticfiles 应用程序和 staticfiles_finders。我的 staticfiles_dirs 如下所示:

STATICFILES_DIRS = (
    '/home/user/project/static/',
)

在我的静态文件夹中,我有一个 css 文件夹,用于存储我的 css 文件。 在这种情况下,我的 css 文件的路径是这样的。

/home/user/project/static/css/index.css

在我的应用程序模板中,我已像这样链接到 css 文件。

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/css/index.css />

但是,css 似乎不会影响我的页面。但是,如果我直接在模板文件中编写 css 确实可以工作,所以我认为我链接错了?

我们将不胜感激。

【问题讨论】:

  • 当您尝试使用浏览器直接访问 css 时会发生什么?
  • 您是否尝试过打开浏览器的控制台并检查它是否真的找到了 css 文件
  • 试试:

标签: python html css django templates


【解决方案1】:

Django 1.4+

{% static %}

<link rel="stylesheet" type="text/css" href="{% static 'css/index.css' %}"/>

注意:如果此代码不起作用,您应该检查您的设置和 urlconf。而且我还注意到您的代码中有一些不好的做法。

【讨论】:

    【解决方案2】:

    你可以试试别的方法:

    在文件 settings.py

    中编辑这些变量
    PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
    STATIC_URL = os.path.join(PROJECT_URL, 'static')
    

    它们指的是系统上文件夹的绝对路径,例如:

    • PROJECT_ROOT --> /home/user/project
    • STATIC_URL --> /home/user/project/static

    从 STATIC_URL 变量扩展 url:

    • {{ STATIC_URL }} --> h ttp://(your_host)/static/
    • {{ STATIC_URL }}/css --> h ttp://(your_host)/static/css

    【讨论】:

      猜你喜欢
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 2021-04-04
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多