Переадресация на страницу входа при принятии URL-адреса для мусора в Django - PullRequest
0 голосов
/ 05 сентября 2018

так что я новичок в Django, и я делал веб-приложение с именем account. Я хотел бы иметь метод пути в моих urlpatterns, который отправляет меня на страницу входа в систему всякий раз, когда я ввожу URL, который не упоминается в других моих методах пути (ПРИМЕЧАНИЕ. Я использовал встроенный метод входа в систему) Как мне реализовать?

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'
]

1 Ответ

0 голосов
/ 05 сентября 2018

Вам просто нужно создать запись в вашем 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'

Обратите внимание, что это будет работать, только если DEBUG=False в вашем settings.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...