Django脆表单不加载CSS
Posted
技术标签:
【中文标题】Django脆表单不加载CSS【英文标题】:Django crispy forms not loading 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 似乎找不到该文件。
【问题讨论】:
【参考方案1】:您需要include the css/js yourself。所以...Download bootstrap,将文件放在您的静态文件目录中,在您的base.html
模板中包含一个指向引导 css/js 文件的链接,然后您将能够看到正确的格式。
【讨论】:
您能看看我上面的编辑吗?我试着按照你的建议去做,但还是有些不对劲。谢谢! @user2406467 您是否设置了正确的设置,STATIC_URL 和 STATICFILES_DIRS?我的猜测是,如果你设置了这些,你就会全部设置好。 STATIC_URL = '/static/' 和 STATICFILES_DIRS = ('/Users/me/bootstrap',) @user2406467 出了点问题,如果您的链接在输出时看起来像这样,则看起来 STATIC_URL
是空的。您的 TEMPLATE_CONTEXT_PROCESSORS 中有 "django.core.context_processors.static",
吗?
这似乎是缺失的部分。一旦我添加并重新加载,CSS 就会出现。非常感谢!以上是关于Django脆表单不加载CSS的主要内容,如果未能解决你的问题,请参考以下文章