gpt4 book ai didi

django - 使用 bootstrap3 作为脆皮表单的模板包时出现 TemplateDoesNotExist 错误

转载 作者:行者123 更新时间:2023-12-01 05:06:30 26 4
gpt4 key购买 nike

我正在为我的 django 项目使用 django-crispy-forms,并阅读 documentation我看到为了能够使用 bootstrap3 功能(如 horizontal forms ),我需要通过在我的项目的 settings.py 中添加以下行来将 bootstrap3 设置为我的脆皮模板包:

CRISPY_TEMPLATE_PACK = 'bootstrap3'

根据文档,crispy 的默认值是 bootstrap v2。但是在我的设置中添加 bootstrap3 之后,当我在我的开发机器上运行我的应用程序时,我收到了这个错误:
TemplateDoesNotExist at /dashboard/
bootstrap3/field.html
Request Method: POST
Request URL: http://localhost:8000/dashboard/
Django Version: 1.7.3
Exception Type: TemplateDoesNotExist
Exception Value:
bootstrap3/field.html
Exception Location: C:\Python27\VirtualEnvs\Tlaloc\lib\site-packages\django\template\loader.py in find_template, line 136
Python Executable: C:\Python27\VirtualEnvs\Tlaloc\Scripts\python.exe
Python Version: 2.7.7

如果我从我的设置中删除 CRISPY_TEMPLATE_PACK 行(至于使用默认值)或将其更改为如下所示:
CRISPY_TEMPLATE_PACK = 'bootstrap'

然后我不再收到错误,但是表单水平类在我的表单中不起作用。

这就是我的表单在 forms.py 中的样子
class UserForm(forms.Form):
user = forms.CharField(label='Account', max_length=15)
password = forms.CharField(widget=forms.PasswordInput())

# Crispy forms code
def __init__(self, *args, **kwargs):
super(UserForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_class = 'form-horizontal'
self.helper.label_class = 'col-sm-2'
self.helper.field_class = 'col-sm-10'
self.helper.layout = Layout(
Fieldset(
'',
'user',
'password',
),
Div(FormActions(
Submit('continue', 'Continue', css_class='btn btn-primary'),
Button('cancel', 'Cancel', css_class='btn btn-default',
data_dismiss='modal'),
),
css_class='modal-footer'
)
)

这是我模板的一部分:
{% load crispy_forms_tags %}

<div class="modal fade" id="adAccountModal" tabindex="-1" role="dialog" aria-labelledby="authenticationLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">

<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="authenticationLabel">{{ config_values.environment_name }} Environment Authentication</h4>
</div>

<div class="modal-body">
<p>Please enter the account and password that will be used to authenticate in the selected environment.</p>
{% crispy user_form %}
</div>

{% comment %}
The footer will be added through the user_form using Crispy Forms.
The following code will be just left here as reference.
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Continue</button>
</div>
{% endcomment %}
</div>
</div>
</div>

我究竟做错了什么?

最佳答案

结果发现 bootstrap3 模板目录在我安装的脆皮表单中不存在。

我的 Windows 系统上安装了 Crispy Forms 1.3.2 版。查看 github 中的项目页面,我看到当前版本是 1.4.0,确实有\crispy_forms\templates\bootstrap3 目录。看起来 bootstrap3 模板包是在这个版本之前引入的,旧版本没有模板包。我升级到当前版本,现在可以使用了。

关于django - 使用 bootstrap3 作为脆皮表单的模板包时出现 TemplateDoesNotExist 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com