Django 1.10 TemplateSyntaxError' future'不是注册的标签库

时间:2017-01-27 08:58:54

标签: django django-1.10

我正在使用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 %}

3 个答案:

答案 0 :(得分:2)

我认为cycle现在是django内置模板标签,因此无需使用{% load cycle from future %}包含它。

docs

答案 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安装包,它应该可以正常工作。