【问题标题】:Django crispy forms not loading CSSDjango脆表单不加载CSS
【发布时间】:2013-07-01 12:40:29
【问题描述】:

我在 SO:Django crispy-forms cannot find CSS 上看到了这个问题,并遵循了已接受答案中的所有建议,即:

  • 'crispy-forms' 列在 INSTALLED_APPS 下
  • 我没有运行生产服务器,所以我不确定是否应用了 collectstatic 选项(尽管我确实运行了它)

另外:我正在尝试使用引导模板包,所以我将 CRISPY_TEMPLATE_PACK = 'bootstrap' 添加到我的 settings.py 文件中。

当我从 https://gist.github.com/maraujop/1838193 加载示例创建的表单时,页面上没有 CSS。有什么建议吗?谢谢!

编辑: 我想我仍然缺少一些东西。我下载了 Bootstrap,将其解压缩到我的应用程序内的静态目录中,即:

my_app/
    static/
        css/
        js/
        img/

我创建了一个base.html:

{% load staticfiles %}
<!DOCTYPE html>
<html>
  <head>
    <title>Bootstrap 101 Template</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
    <link href="{{ STATIC_URL }}css/bootstrap.min.css" rel="stylesheet" media="screen">
  </head>
  <body>
    <div id="content">
        {% block content %}{% endblock %}
    </div>
  </body>
</html>

在我的模板中,我有:

{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
   {% crispy form %}
{% endblock %}

当我尝试加载我的页面时,表单会加载(哇),但仍然没有 CSS。当我查看页面的来源时,我可以看到以下内容:

<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">

但 Django 似乎找不到该文件。

【问题讨论】:

    标签: django django-templates django-crispy-forms


    【解决方案1】:

    您需要include the css/js yourself。所以...Download bootstrap,将文件放在您的静态文件目录中,在您的base.html 模板中包含一个指向引导 css/js 文件的链接,然后您将能够看到正确的格式。

    【讨论】:

    • 您能看看我上面的编辑吗?我试着按照你的建议去做,但还是有些不对劲。谢谢!
    • @user2406467 您是否设置了正确的设置,STATIC_URLSTATICFILES_DIRS?我的猜测是,如果你设置了这些,你就会全部设置好。
    • STATIC_URL = '/static/' 和 STATICFILES_DIRS = ('/Users/me/bootstrap',)
    • @user2406467 出了点问题,如果您的链接在输出时看起来像这样,则看起来{{ STATIC_URL }} 是空的。您的 TEMPLATE_CONTEXT_PROCESSORS 中有 "django.core.context_processors.static", 吗?
    • 这似乎是缺失的部分。一旦我添加并重新加载,CSS 就会出现。非常感谢!
    猜你喜欢
    • 2013-10-29
    • 2014-12-17
    • 2020-08-21
    • 2012-09-08
    • 2014-02-28
    • 1970-01-01
    • 2013-12-06
    • 2020-06-25
    • 2016-06-05
    相关资源
    最近更新 更多