2017-08-27 3 views
0

イム私のアプリのurlpatternsにこのURLを追加しようとしている(つまり、MyProjectと/ MyAppに/ urls.py):DjangoがURLに名前空間を追加するとエラーが返されます。 'ログイン'が見つかりません。 「ログイン」は、有効なビュー機能やパターン名ではありません

url(r'^login/$', auth_views.LoginView.as_view(), name='login') 

私の一つにこのスニペットを持っていますテンプレート:

<a href="{% url 'login' %}">Login</a> 

通常、リンクをクリックすると、ログインページが正常に表示されます。しかし、私は私のURLに名前空間を追加しようとすると、(APP_NAME = my_namespace)と私は、リンクをクリックして、私はしばらくの間

Reverse for 'login' not found. 'login' is not a valid view function or 
pattern name. 

エラーを取得するときに、それが失敗した

<a href="{% url 'my_namespace:login' %}">Login</a> 

に逆を変更私がネームスペースを使って作業をやり直す他のすべてのURLは、失敗したログインリバースだけです。どんな考え?

編集: MyProjectと/ MyProjectと/ urls.py:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^clubinfo/', include('ClubInfo.urls')), 
] 

MyProjectと/ MyAppに/ urls.py:

app_name = 'clubinfo' 

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
    url(r'^register/$', views.register, name='register'), 
    url(r'^login/$', auth_views.LoginView.as_view(), name='login'), 
] 

テンプレートの抜粋:

<a href="{% url 'clubinfo:index' %}">Home</a> 
<a href="{% url 'clubinfo:login' %}">Login</a> 
<a href="{% url 'clubinfo:register' %}">Register</a> 

私はホームと登録をクリックしてログインできます。

編集2:auth_viewsがこのインポートからです:

from django.contrib.auth import views as auth_views 

私は、これは、プログラムがエラーを上げている理由とは何かを持っているかもしれないと思います。

clubinfoのURLで今
urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^clubinfo/', include('ClubInfo.urls', namespace='clubinfo')), 
] 

:プロジェクトのURLで

+0

'MyApp.urls'は' MyProject.urls'に含まれていますか? –

+0

はい、アプリ内の他のすべてのURLは機能しません。 –

+0

リンクをクリックした後、ブラウザのアドレスバーに表示されるURLは何ですか? –

答えて

0

を行うための私の方法DjangoがLoginViewでレンダリングするlogin.htmlファイルに問題があることが判明しました。私は、そのファイルの逆のうちの1つで名前空間を使用しませんでした。

0

はこれを行う 再び

app_name = 'clubinfo' 

、ラン・デ・サーバを削除し、動作するはずです、それを試してみてくださいその

関連する問題