我使用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