簡體   English   中英

在Django中重定向到登錄頁面以接受垃圾URL

[英]Redirect to login page on accepting a garbage url in Django

所以我是Django的新手,當時我在制作一個名為帳號的webapp。 我想在我的urlpatterns中有一個path方法,只要我輸入其他路徑方法中未提及的url,它就會將我發送到登錄頁面。(注意:我已使用內置的login方法)如何實現?

urls.py

from django.urls import path, url
from . import views

from django.contrib.auth.views import login, logout

urlpatterns = [

    path('display/', views.display),
    path('', views.home),
    path('login/', login, {'template_name': 'accounts/login.html'}),
    path('logout/', logout, {'template_name': 'accounts/logout.html'}),
    path('register/',views.register, name='register'),
    url('xxxx', login, {'template_name': 'accounts/login.html'}) #here, I'd like to change 'xxxx'
]

您只需要在views.py中創建一個條目即可處理404:

from django.shortcuts import render_to_response
from django.template import RequestContext


def handler404(request):
    response = render_to_response('your_login_template.html', {},
                              context_instance=RequestContext(request))
    response.status_code = 404
    return response

然后可以在urls.py中指定它:

from django.conf.urls.defaults import handler404, handler500
handler404 = 'views.handler404'

請注意,這僅在settings.py DEBUG=False時有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM