Django脆皮表单未加载CSS

use*_*467 4 django django-templates django-crispy-forms

我在 SO 上看到了这个问题:Django 脆皮形式找不到 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/
Run Code Online (Sandbox Code Playgroud)

我创建了一个 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>
Run Code Online (Sandbox Code Playgroud)

在我的模板中,我有:

{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block content %}
   {% crispy form %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

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

<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
Run Code Online (Sandbox Code Playgroud)

但 Django 似乎无法找到该文件。

Nge*_*tor 6

您需要自己包含 css/js。所以...下载 bootstrap,将文件放在你的静态文件目录中,在你的base.html模板中包含一个 bootstrap css/js 文件的链接,然后你就可以看到正确的格式了。