繁体   English   中英

/'str'对象的AttributeError没有属性'_mptt_meta'

[英]AttributeError at / 'str' object has no attribute '_mptt_meta'

我正在使用feinCMS并将自定义内容添加到页面,并覆盖自定义内容类中的render方法。 render方法如下:

    return render_to_string('badge/categories.html', {'categories', self}, context_instance=kwargs.get('context'))

badge / categories.html模板中的代码是:

    {% extends "feincms/base.html" %}
    {% load feincms_page_tags %}
    <h2> {{ feincms_page }}</h2>

    {% for item in feincms_page.content.main %}
    {{ item.render }}
    {% endfor %}

页面的覆盖网址为“/”。 如果未将自定义内容添加到页面,它可以正常工作,但只要我添加它,它就会引发以下错误:

    Template error:
    In template /home/yogesh/programs/bw-election-badges/apps/templates/includes/top_menu.html, error at line 4
       'str' object has no attribute '_mptt_meta'
       1 : {% load  feincmsext_extended_navigation_tags feincms_page_tags mptt_tags%}
       2 : <div class="nav-collapse collapse">
       3 :   <ul class="nav">
       4 :      {% feincms_nav feincms_page level=1 depth=3 as navitems %} 
       5 :     {% with navitems|siblings_along_path_to:feincms_page as navtree %}
       6 :         {% recursetree navtree %}
       7 :             <li> <a href="{{ node.get_absolute_url }}">{{ node.short_title }}</a></li>
       8 :                 {% if children %}
       9 :                     <div style="margin-left: 20px">{{ children }}</div>
       10 :                 {% endif %}
       11 :         {% endrecursetree %}
       12 :     {% endwith %}
       13 :   </ul>
       14 : </div><!--/.nav-collapse -->


    Traceback:
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
      140.                     response = response.render()
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/response.py" in render
      105.             self.content = self.rendered_content
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
      82.         content = template.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      140.             return self._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      124.         return compiled_parent._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      63.             result = block.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      156.         return self.render_template(self.template, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render_template
      138.         output = template.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      140.             return self._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      54.             result = self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
      188.                         nodelist.append(node.render(context))
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render
      84.             output = self.filter_expression.resolve(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in resolve
      578.                 obj = self.var.resolve(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in resolve
      728.             value = self._resolve_lookup(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _resolve_lookup
      779.                             current = current()
    File "/home/yogesh/programs/bw-election-badges/apps/project/badge/models.py" in render
      33.         return render_to_string('badge/detail.html', {'badge': self}, context_instance=kwargs.get('context'))
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
      172.         return t.render(Context(dictionary))
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      140.             return self._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      124.         return compiled_parent._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      63.             result = block.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
      156.         return self.render_template(self.template, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render_template
      138.         output = template.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      140.             return self._render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
      134.         return self.nodelist.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      830.                 bit = self.render_node(node, context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
      74.             return node.render(context)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/django/template/base.py" in render
      1146.                     context[self.target_var] = func(*resolved_args, **resolved_kwargs)
    File "/home/yogesh/programs/env/local/lib/python2.7/site-packages/feincms/module/page/templatetags/feincms_page_tags.py" in feincms_nav
      57.     mptt_opts = feincms_page._mptt_meta

    Exception Type: AttributeError at /
    Exception Value: 'str' object has no attribute '_mptt_meta'

你试图在没有FeinCMS对象的情况下调用FeinCMS模板。

例如,你有一个包含templates/includes/top_menu.html ,它需要缺少feincms_page变量,因此无法生成菜单......

您应该改变一种方式,如何进行覆盖, 文档中有一详细介绍了这种集成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM