在Django中使用templatetags时导入错误

时间:2010-05-05 09:14:35

标签: python django templatetags

好吧,当我尝试在Django中使用'包含'时,我遇到了一些我自己无法解决的困惑问题。

我的项目有结构。

MyProject---
            App1---
                   __init__.py
                   models.py
                   test.py
                   urls.py
                   views.py
            App2---
                   ...
            template---
                       App1---
                              some htmls
                       App2---
                              ...
            templatetags---
                           __init__.py
                           inclusion_cld_tags.py
            manage.py
            urls.py
            __init__.py
            settings.py

我在settings.py中注册了templatetags文件夹(两者都在Installed APPS和TEMPLATE_DIRS中)。 但是当我想在我的html中使用{%load inclusion_test%}时,会产生如下异常:

'inclusion_cld_tags' is not a valid tag library: Could not load template library from django.templatetags.inclusion_cld_tags, No module named inclusion_cld_tags

我认为我的导入工作没有问题,我该怎么做?

感谢您的帮助!

我的django版本:1.0+ 我的Python版本:2.6.4

1 个答案:

答案 0 :(得分:2)

  1. templatetags文件夹should live in the app folder

            App1---
                   __init__.py
                   models.py
                   test.py
                   urls.py
                   views.py
                   templatetags---
                           __init__.py
                           inclusion_test.py
                              ...
    
  2. 您是否注册了标签?

  3. 示例:

    register = template.Library()   
    @register.inclusion_tag('platform/templatetags/pagination_links.html')
    def pagination_links(page, per_page, link):