我使用 semantic-ui 作为 crispy-forms 的模板。尝试加载页面时,会导致以下错误:
/ forum / newpost / pqs53kqsbgsqd66pg0i60u-isjtvagbo4ii4q9 /
中的TemplateSyntaxErrorcrispy tag的template_pack参数应该在(' bootstrap',' uni_form',' bootstrap3',' foundation-5&# 39)
设置文件包含以下条目(其中包括):
CRISPY_TEMPLATE_PACK = 'semantic-ui'
INSTALLED_APPS = ('crispy_forms', 'semantic_ui')
以下是 forumpost_create.html 的模板代码:
{% extends 'forum/layouts/forum_main.html' %}
{% load crispy_forms_tags %}
{% block content %}
<div class="ui main text container">
<form action="" method="post" class="ui form">
{% csrf_token %}
{% crispy form %}
<input type="submit" value="Save" />
</form>
</div>
{% endblock %}
当我在模板中使用form|crispy
时,错误消失,但随后模板呈现不受影响,即使查看输出HTML源代码,也无法进行任何更改。
来自 forms.py
的代码class ForumPostForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ForumPostForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.layout = Layout(
Fieldset(
'Post body',
'body'
),
ButtonHolder(
Submit('submit', 'Submit', css_class='ui primary button')
)
)
class Meta:
model = ForumPost
fields = ['body']
如何让它发挥作用?是因为我使用 semantic-ui 而且需要以不同的方式完成某些事情? (我遇到的大多数教程都喜欢 bootstrap )。
答案 0 :(得分:0)
您需要将semantic-ui添加到设置文件中的CRISPY_ALLOWED_TEMPLATE_PACKS
CRISPY_ALLOWED_TEMPLATE_PACKS = ('bootstrap', 'uni_form', 'bootstrap3', 'bootstrap4', 'semantic-ui')