我正在使用Django 1.10并安装了这个库' nested_inline。我真的需要这个lib但是当我加载管理页面时它会给我以下错误。
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 %}
答案 0 :(得分:2)
我认为cycle
现在是django内置模板标签,因此无需使用{% load cycle from future %}
包含它。
答案 1 :(得分:1)
好的,明白了。我只是按照这个帖子的答案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)
由于我很少使用模板,我无法理解究竟是怎么做的。显然你应该在app文件夹中创建一个名为templatetags的目录,然后使用上面的代码将future.py文件添加到它。有关放置templatetags文件夹的位置的更多帮助,请参阅此https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#code-layout
答案 2 :(得分:1)
此问题已在最新提交中修复:https://github.com/s-block/django-nested-inline/issues/65。如果你直接从Github安装包,它应该可以正常工作。