我正在尝试使用Django crispy-forms创建一个Django应用程序。
settings.py
CRISPY_TEMPLATE_PACK = 'bootstrap3'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'face', #app name
'crispy_forms',
)
的index.html
{% extends "base.html" %}
{% load crispy_forms_tag %}
{% block title %}
AuthorizedUser
{% endblock title %}
{% block content %}
<h1>Quote of the Day</h1>
<blockquote>{{quote}}</blockquote>
<p>Or, hit reload if you want a new one...</p>
<form method="POST" action="{% url %}" >
{% csrf_token %}
{{ form|crispy}}
<input type="hidden" name="quote" value="{{quote}}" />
<input type="hidden" name="access_token" value="{{access_token}}" />
<input type="submit" value="Set as my status!"/>
</form>
{% endblock content %}
当我正在运行服务器时,它会引发错误
&#34;
TemplateSyntaxError at / 'crispy_forms_tag' is not a valid tag library: Template library crispy_forms_tag not found, trieddjango.templatetags.crispy_forms_tag,django.contrib.staticfiles.templatetags.crispy_forms_tag,django_facebook.templatetags.crispy_forms_tag,crispy_forms.templatetags.crispy_forms_tag
&#34;
我做错了什么?以及如何解决它?
答案 0 :(得分:2)
您确定Crispy表单的安装有效吗?你需要安装django-crispy-forms。
然后,在您的模板index.html中,您应该使用crispy标签,如下所示:
{% crispy name_form %}
而不是:
{{form|crispy}}
更重要的是,你应该使用
{% load crispy_forms_tags %}
不,
{% load crispy_forms_tag %}
答案 1 :(得分:2)
您应该在项目设置中添加Crispy Form标签。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'crispy_forms',
]
在templates.html中添加这些清晰标记
{% load crispy_forms_tags %}
{% csrf_token %}
{% crispy form %}
答案 2 :(得分:1)
我刚刚经历了这个错误。
忘记了install django-crispy-forms
pip install django-crispy-forms
并在settings.py
中引用它INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'crispy_forms',
]
完成后,问题就解决了。