ここでは単純なログインアプリを扱っています。完全にログインとログアウトができます。何が起こっているかというと、ログアウトして、ログインしているユーザーだけが見ることができるページに移動しようとするとどうなるかをテストしたいのですが、NoReverseMatch 例外が発生しています。私はドキュメントを見て、「提供されたパラメーターに基づいて URLconf 内の一致する URL を識別できない場合、django.core.urlresolvers によって NoReverseMatch 例外が発生します。」これは私のURLです:
url(r'^login/', 'django.contrib.auth.views.login', {'template_name': 'login.html'}),
url(r'^index/', login_required(Index.as_view(template_name= "index.html")), name = 'index'),
url(r'^logout/', 'django.contrib.auth.views.logout', {'template_name': 'logout.html'}),
問題は、ログインせずに保護された URL にアクセスしたいユーザーのために、どこに URL を設定する必要があるのか わからないことです。「Login_required」をすでに試しました(URL でわかるように)。ブレースの「LoginRequiredMixin」やストロングホールドなどの他のミックスイン。そして、それらのどれも機能しませんでした。私がやりたいことは、これらのユーザー (ログインしていないシステムをごまかそうとするユーザー) を logging.html にリダイレクトすることだけです。私のsettings.pyにこれがあるかもしれません:
APPEND_SLASH = True
TEMPLATE_DEBUG = True
LOGIN_URL = 'login'
LOGIN_REDIRECT_URL = 'index'
LOGOUT_URL = 'logout'
この質問は広すぎるかもしれません。申し訳ありません。他に必要な情報があればお知らせください。どうもありがとうございました
編集:これはdjangoが示しているものです:
/Exi/index/ の NoReverseMatch 引数 '()' とキーワード引数 '{}' を持つ 'login' のリバースが見つかりません。
試行したパターンは 0: [ ]リクエスト メソッド: GET リクエスト URL: SO ではリンクをここに表示させないおよびキーワード引数 '{}' が見つかりません。0 パターンが試行されました: [] 例外の場所: C:\Users\Python\Desktop\TestScene\lib\site-packages\django\core\urlresolvers.py in _reverse_with_prefix、452 行 Python 実行可能ファイル: C:\Users\Python \Desktop\TestScene\Scripts\python.exe Python バージョン: 2.7.6 Python パス:
['C:\Users\Python\Desktop\TestScene\ExiAdmin', 'C:\Users\Python\Desktop\TestScene\lib\site-packages\mysql_python-1.2.5-py2.7-win32.egg', ' C:\Windows\system32\python27.zip'、'C:\Users\Python\Desktop\TestScene\DLLs'、'C:\Users\Python\Desktop\TestScene\lib'、'C:\Users\Python\デスクトップ\TestScene\lib\plat-win', 'C:\Users\Python\Desktop\TestScene\lib\lib-tk', 'C:\Users\Python\Desktop\TestScene\Scripts', 'C:\Python27 \Lib'、'C:\Python27\DLLs'、'C:\Python27\Lib\lib-tk'、'C:\Users\Python\Desktop\TestScene'、'C:\Users\Python\Desktop\TestScene \lib\site-packages']