Django 1.10 TemplateSyntaxError 'future' 不是注册标签库
Django 1.10 TemplateSyntaxError 'future' is not a registered tag library
我正在使用 Django 1.10 并安装了这个库'nested_inline。我真的需要这个库,但是当我加载管理页面时,它给了我以下错误。
TemplateSyntaxError at /masterproducts/product/add/
'future' is not a registered tag library. Must be one of:
admin_list
admin_modify....
堆栈轨迹如下
{% load i18n admin_static admin_modify %}
{% load cycle from future %}
<div class="inline-group{% if recursive_formset %}
{{ recursive_formset.formset.prefix|default:"Root" }}
-nested-inline{% if prev_prefix %} {{ prev_prefix }}
-{{ loopCounter }}-nested-inline{% endif %}
nested-inline{% endif %}" id="{{ inline_admin_formset.formset.prefix }}-group">
{% with recursive_formset=inline_admin_formset stacked_template='admin/edit_inline/stacked-nested.html' tabular_template='admin/edit_inline/tabular-nested.html'%}
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}" id="{{ recursive_formset.formset.prefix }}">
{{ recursive_formset.formset.management_form }}
<fieldset class="module">
<h2>{{ recursive_formset.opts.verbose_name_plural|capfirst }}</h2>
{{ recursive_formset.formset.non_form_errors }}
<table>
<thead><tr>
{% for field in recursive_formset.fields %}
我认为 cycle
现在是一个 django build-in 模板标签,所以没有必要使用 {% load cycle from future %}
.
包含它
好的,知道了。我只是按照这个线程的答案 https://github.com/iambrandontaylor/django-admin-sortable/issues/151 下面是解决方案
# templatetags/future.py
from django.template import Library
from django.template.defaulttags import cycle as cycle_original
register = Library()
@register.tag
def cycle(*args, **kwargs):
''' A stub to get SortableTabularInline to work '''
return cycle_original(*args, **kwargs)
因为我很少使用模板,所以我不明白具体要做什么。显然你应该在你的应用程序文件夹中创建一个名为 templatetags 的目录,然后使用上面的代码将 future.py 文件添加到其中。有关放置 templatetags 文件夹位置的更多帮助,请参阅此 https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#code-layout
问题已在最新提交中修复:https://github.com/s-block/django-nested-inline/issues/65。如果您直接从 Github.
安装软件包,它应该可以正常工作
我正在使用 Django 1.10 并安装了这个库'nested_inline。我真的需要这个库,但是当我加载管理页面时,它给了我以下错误。
TemplateSyntaxError at /masterproducts/product/add/
'future' is not a registered tag library. Must be one of:
admin_list
admin_modify....
堆栈轨迹如下
{% load i18n admin_static admin_modify %}
{% load cycle from future %}
<div class="inline-group{% if recursive_formset %}
{{ recursive_formset.formset.prefix|default:"Root" }}
-nested-inline{% if prev_prefix %} {{ prev_prefix }}
-{{ loopCounter }}-nested-inline{% endif %}
nested-inline{% endif %}" id="{{ inline_admin_formset.formset.prefix }}-group">
{% with recursive_formset=inline_admin_formset stacked_template='admin/edit_inline/stacked-nested.html' tabular_template='admin/edit_inline/tabular-nested.html'%}
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}" id="{{ recursive_formset.formset.prefix }}">
{{ recursive_formset.formset.management_form }}
<fieldset class="module">
<h2>{{ recursive_formset.opts.verbose_name_plural|capfirst }}</h2>
{{ recursive_formset.formset.non_form_errors }}
<table>
<thead><tr>
{% for field in recursive_formset.fields %}
我认为 cycle
现在是一个 django build-in 模板标签,所以没有必要使用 {% load cycle from future %}
.
好的,知道了。我只是按照这个线程的答案 https://github.com/iambrandontaylor/django-admin-sortable/issues/151 下面是解决方案
# templatetags/future.py
from django.template import Library
from django.template.defaulttags import cycle as cycle_original
register = Library()
@register.tag
def cycle(*args, **kwargs):
''' A stub to get SortableTabularInline to work '''
return cycle_original(*args, **kwargs)
因为我很少使用模板,所以我不明白具体要做什么。显然你应该在你的应用程序文件夹中创建一个名为 templatetags 的目录,然后使用上面的代码将 future.py 文件添加到其中。有关放置 templatetags 文件夹位置的更多帮助,请参阅此 https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#code-layout
问题已在最新提交中修复:https://github.com/s-block/django-nested-inline/issues/65。如果您直接从 Github.
安装软件包,它应该可以正常工作