アクティベーションURLが間違っているか無効な場合、404エラーが表示されます。ページが見つかりません(404)djangoでエラーが発生しました
アカウント/ urls.py -
urlpatterns = [
url(r"^signup/$", views.signup, name="account_signup"),
url(r'^login/$', views.login_view, name='account_login'),
url(r'^logout/$', auth_views.logout, {'next_page': '/account/login'}, name='logout'),
url(r'^confirmemail/$', views.confirmemail, name='account_confirmemail'),
url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',views.activate, name='activate'),
]
アカウント/ views.py
def activate(request, uidb64, token):
try:
uid = force_text(urlsafe_base64_decode(uidb64))
user = User.objects.get(pk=uid)
except (TypeError, ValueError, OverflowError, User.DoesNotExist):
user = None
if user is not None and account_activation_token.check_token(user, token):
user.is_active = True
user.profile.email_confirmed = True
user.save()
user.profile.save()
login(request, user)
return redirect('home')
else:
return render(request, 'accounts/account_activation_invalid.html')
#return HttpResponseRedirect("account_activation_invalid.html")
アカウント起動URLが間違っている場合はaccount_activation_invalid.html
にリダイレクトする必要があります。
ヘルプ/リンクは高く評価されています。前もって感謝します。
Djangoは、URLのマッチングのための正規表現を使用していますアクティベーションURLが適切でない場合(ネストされた引数の1つが不足している可能性があります)、これは一致しません。あなたのビューコードは実行されず、404はDjangoによってスローされます。 – anuragal
説明のために@anuragalに感謝します。 –