2010-05-05 29 views
1

那麼,當我試圖在Django中使用'包含'時,我遇到了一些我自己無法解決的困惑問題。在Django中使用templatetags時導入錯誤

有我的項目的結構。

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 

我已經註冊templatetags文件夾中的settings.py(無論是在安裝的應用程序& TEMPLATE_DIRS)。 但是,當我想用​​{%inclusion_test%負載}在我的HTML,它提升一個像這樣的例外:

'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

回答

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. 你有沒有註冊的標籤?

例子:

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

謝謝回答 1.I've試圖把文件夾templatetags到我的應用程序之一,但它也不能正常工作。 2.我已經註冊過了,就像上面給出的例子一樣,在提出這個問題之前,從'django import template'做'。 – 2010-05-05 09:45:04

+0

哦......嗯......好吧,我終於解決了。 =。=你是對的,templatetags文件夾應該存在於應用程序文件夾中,之後我應該更改settings.py中的INSTALLED_APPS設置,以便它可以正確放置在我的項目中。畢竟,感謝您的幫助。 – 2010-05-05 09:52:44