/ / Django:テンプレートタグを読み込めません - django、テンプレート、タグ

Django:テンプレートタグを読み込めません - django、テンプレート、タグ

私はDjango 1.2.1を使用しています。 テンプレートタグ:

{% 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.

nate@nate-desktop:~/work/django-projects/myproject$ ls myapp/templatetags/
mytags.py  __init.py__
nate@nate-desktop:~/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

モジュールをシェルにインポートしようとすると、インポートできません:

>>> 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

これは私のパスや設定に何か問題があることを意味しますか?何か案は?

回答:

回答№1の85

これに就く他の人のための注意:あなたのdjangoアプリケーションに新しいファイルを登録するには、開発サーバーを再起動する必要があります。


回答№2の15

私の問題はタイプミスが原因でした。私はtemplatetagsでファイルを呼び出した __init.py__ しかしそれは命名されているはずです __init__.py.


答え№3のための7

私も同じ問題がありました。問題は、私が共有している templatetags ディレクトリにはありませんでした。 __init__.py その中に。空ファイルが入っていて、再起動されたサーバーがすべて正常だったことを追加しました。