我使用Django 1.2.1,我有試圖加載我 模板標籤的問題:Django的:無法加載模板標籤
{% load mytags %}
TemplateSyntaxError at /myapp/
'mytags' is not a valid tag library: Template library mytags not
found, tried django.templatetags.mytags
它在myproject/myapp/templatetags/mytags.py
的已定義。
[email protected]:~/work/django-projects/myproject$ ls myapp/templatetags/
mytags.py __init.py__
[email protected]:~/work/django-projects/myproject$ more
myapp/templatetags/mytags.py
from django import template
register = template.Library()
@register.simple_tag
def myclass(request):
return request.path
我加入 'MyApp的' 到INSTALLED_APPS
,並更新TEMPLATE_LOADERS
(如 每從StackOverflow的建議):
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
'django.template.loaders.app_directories.load_template_source',
)
當我開始我看到此警告消息的服務器:
/usr/local/lib/python2.6/dist-packages/django/template/loaders/eggs.py:4:
UserWarning: Module _mysql was already imported from
/usr/lib/pymodules/python2.6/_mysql.so, but
/usr/lib/pymodules/python2.6 is being added to sys.path
當我嘗試在shell中導入我的模塊時,我也無法導入它:
>>> from django.templatetags import mytags
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name mytags
>>> from myapp.templatetags import mytags
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named templatetags
這是否意味着我的路徑或設置有問題?有任何想法嗎?
你在'myapp'目錄中是否還有'__init __。py'? – Wolph 2010-12-20 01:55:27
好問題。是的,我這樣做: nate @ nate-desktop:〜/ work/django-projects/myproject $ ls myapp/ __init__.py models.py templatetags views.py __init __。pyc models.pyc tests.py views.pyc – 2010-12-20 02:39:06
我很難輸入'ls'的輸出。下劃線轉換爲粗體文本。它應該顯示雙下劃線init.py雙下劃線。 – 2010-12-20 02:43:39