Django模板中包含第二个HTML模板时出现递归错误

Django模板中包含第二个HTML模板时出现递归错误,django,python-3.x,django-templates,Django,Python 3.x,Django Templates,你好。我刚刚完成我的第一个Django项目,而且进展顺利。但是,在另一个应用程序中包含HTML模板时,我遇到了一个小问题 我希望有一个显示所有表单错误的单一文件,这样我就不必在每个表单中反复编写相同的内容。所以,我有一个小模板: my_app/form_error_messages.html: {%if form.non_字段_错误%} &时代; {{form.non_field_errors}} {%endif%} {表单中的字段为%hidden_fields%} {%if field.err

你好。我刚刚完成我的第一个Django项目,而且进展顺利。但是,在另一个应用程序中包含HTML模板时,我遇到了一个小问题

我希望有一个显示所有表单错误的单一文件,这样我就不必在每个表单中反复编写相同的内容。所以,我有一个小模板:

my_app/form_error_messages.html:
{%if form.non_字段_错误%}
&时代;
{{form.non_field_errors}}
{%endif%}
{表单中的字段为%hidden_fields%}
{%if field.errors%}
&时代;
{{field.label}}:{{field.errors}
{%endif%}
{%endfor%}
{%form.visible_fields%}
{%if field.errors%}
&时代;
{{field.label}}:{{field.errors}
{%endif%}
{%endfor%}
在我的其他每个模板上,我都有如下内容:

my_app/other_template_file.html
{%extends“base.html”%}
{%block“my_block”%}
{%include'my_app/general_info.html%}
{%csrf_令牌%}
{%include“my_app/form_error_messages.html”%}
{{form.as_p}}
{%endblock%}
我的应用程序/views.py
def my_视图(请求):
如果request.method==“POST”:
form=MyEntryForm(request.POST)
如果form.is_有效():
form.save()
返回HttpresponseRedirect(反向('my_app:index'))
其他:
form=MyEntryForm()
返回呈现(请求'my_app/other_template_file.html',{'form':form})
我的应用程序/forms.py
def MyEntryForm(forms.ModelForm):
类元:
model=MyModel
字段='\uuuu所有\uuuu'
my_app/models.py
类MyModel(models.Model):
title=models.CharField(最大长度=100,db\u索引=True)
text=models.TextField()
相关文件结构:
myu项目/
|
+--我的计划/
|   |
|+--\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
|+--settings.py
|+--url.py
|+--wsgi.py
|
+--我的应用程序/
|   |
|+--\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
|+--forms.py
|+--models.py
|+--url.py
|+--views.py
|+--模板/
|       |
|+--我的应用程序/
|           |
|+--other_template_file.html
|+--form_error_messages.html
|
+--模板/
|
+--base.html
相关设置:
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(u文件_uu)))
TEMPLATES\u DIR=os.path.join(BASE\u DIR,'TEMPLATES')
# ...
模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[TEMPLATES_DIR,],
“应用程序目录”:正确,
“选项”:{
“上下文处理器”:[
“django.template.context_processors.debug”,
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在包含
my\u app/form\u error\u messages.html之前,一切正常,但在我包含它之后,Django在尝试打开任何包含表单(包含该文件)的页面时显示以下错误:

递归错误位于/my\u app/other\u template\u file.html
超过最大递归深度

我想我做的一切都是对的,但是。。。我错过什么了吗

我的具体问题是:

  • Django为什么抱怨递归
  • 如何使上述模板按预期工作?
    具体来说:我需要一个“通用”模板来显示所有表单错误,并将其包含在我的其他模板中

  • 一般信息:

    • Python:3.6
    • Django:2.0
    • 在投入生产之前,我正在使用开发服务器进行测试

    编辑1: Django显示的堆栈跟踪超过2K行!(我认为完整地发布在这里是个坏主意)。但是,我在这里列出了堆栈跟踪的一些行:

    模板错误:
    在模板D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\forms\templates\django\forms\widgets\attrs.html中,第1行出现错误
    超过最大递归深度
    1:{%for name,widget.attrs.items%}{%if值不是False%}{{name}}{%if值不是True%}=“{{value}stringformat:'s'}{%endif%}{%endif%}{%endif%}{%endfor%}”
    回溯:
    翻译令牌中的文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\template\smartif.py”
    175op=运算符[令牌]
    在处理上述异常(“值”)期间,发生了另一个异常:
    _uuinit中的文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\template\base.py”__
    767self.literal=float(var)
    在处理上述异常期间(无法将字符串转换为float:“value”),发生了另一个异常:
    文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\core\handlers\exception.py”位于内部
    35响应=获取响应(请求)
    get响应中的文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\core\handlers\base.py”
    128response=self.process\u异常\u由\u中间件(e,请求)
    get响应中的文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\core\handlers\base.py”
    126响应=包装的回调(请求,*回调参数,**回调参数)
    文件“D:\Users\MBARRANCA\AppData\Local\Continuum\Anaconda3\lib\site packages\django\contrib\auth\decorators.py”位于\u wrapped\u视图中
    21返回视图功能(请求,*args,**kwargs)
    cargar_archivo_leads_v2中的文件“D:\Users\MBARRANCA\Documents\PythonProjects\my_projects\project01\my_django_project\my_app\views.py”
    652返回呈现(请求'leads/cargar_archivo_leads.html',{'form':form})
    文件“D:\Use