Django crispy表单不加载CSS

时间:2013-07-03 17:28:09

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

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

  • 'crispy-forms'列于INSTALLED_APPS
  • 我没有运行生产服务器,所以我不确定应用了collectstatic选项(虽然我确实运行了它)

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

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

修改 我想我还在遗漏一些东西。我下载了Bootstrap,将其解压缩到我的app中的静态目录中,即:

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 %}

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

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

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

1 个答案:

答案 0 :(得分:3)

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