サイトを Django 1.3.1 から Django 1.4 にアップグレードしました。「ユーザー」というアプリがあります。プロジェクトの URL ルーティング ルールは次のとおりです。
url(r'', include('users.urls', namespace='users', app_name='users')),
および特定のユーザー プロファイル ルーティング ルール:
url(r'^profile/(?P<pk>\d+)/$', ProfileDetailView.as_view(),
name='profile'),
ユーザー アプリには空のinit .py ファイルがあります。それにもかかわらず、次のテンプレート エラーが表示されます。
Error during template rendering
In template /home/daniel/python_practice/rainbow/django_templates/user_bar.html, error at line 3
No module named users
次のテンプレート コードを使用すると:
<a href="{%url users:profile user.id %}">{{ user.username }}</a>
私はこの問題に数時間立ち往生しています。プロジェクトの名前は「虹」です。URL 呼び出しパラメーターを に変更するなどのことを試みましたurl rainbow.users:profile ...
。そうすると、「虹」は名前空間ではないことがわかります。あたかもusers
名前空間を認識しているかのようですが、何らかのモジュールを探して失敗しています。
誰かがこれについて何か洞察を持っていますか?
編集:
ディレクトリ構造は次のとおりです。
rainbow
--> rainbow - directory that contains global settings and urls
--> users - the relevant app
--> __init__.py
--> ...etc.
--> other apps
--> django_templates (eg. the relevant template would be django_templates/user_bar.html)
ありがとう、
パラゴンRG