2014-04-11 126 views
3

我正在與feinCMS合作,並將自定義內容添加到頁面中,並覆蓋了自定義內容類中的呈現方法。渲染方法如下:/'str'對象的AttributeError沒有屬性'_mptt_meta'

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

在徽章/ categories.html模板的代碼是:

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

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

頁面的URL重寫是 '/'。它工作正常,如果自定義內容不被添加到頁面,但只要我添加它,它會引發以下錯誤:

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' 

回答

0

你想叫不FeinCMS對象FeinCMS模板。

例如 你有一個包括templates/includes/top_menu.html需要feincms_page變量,它不存在,因此它不能生成菜單...

你應該改變的方式,你如何做到這一點覆蓋,有一個chapter in the docs詳細說明這類集成。

相關問題