the*_*row 12 python django django-templates django-admin
我有以下模板template/admin/change_form.html
:
{% extends "admin/change_form.html" %}
{% block extrahead %}
{% include "dojango/base.html" %}
{% block dojango_content %}
{% endblock %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
但是出于某种原因,它会抛出一个
TemplatesyntaxError: TemplateSyntaxError at /admin/cms/post/add/
Caught RuntimeError while rendering: maximum recursion depth exceeded while calling a Python object
Run Code Online (Sandbox Code Playgroud)
Fra*_*ank 13
我知道现在已经晚了,但......
如果扩展 - 这是一个比复制更好的选择 - 关键是让它命名除了 /admin/change_form.html
.
(虽然OP提到template/admin/change_form.html
,这只是因为他的TEMPLATE_DIRS元组中的路径以'/ template'结尾 - 我的一般以'/ templates'结尾 - 但是,这些目录可以命名为任何位置.)
如果已命名,它将在每个应用程序的基础上自动使用 /admin/<MyAppName>/change_form.html
如果命名,它将在每个模型的基础上自动使用 /admin/<MyAppName>/<MyModelName>/change_form.html
如果在ModelAdmin中明确指定,则可以将其命名为任何名称
class MyModelAdmin(admin.ModelAdmin):
change_form_template = 'subdir/my_change_form.html'
Run Code Online (Sandbox Code Playgroud)
最后,如果坚持命名它 /admin/change_form.html
,你可以 - 只要extends
标签包含django安装的完整路径而不是相关的安装路径.
归档时间: |
|
查看次数: |
2840 次 |
最近记录: |