Авторедирект с ссылок которых нет в urlpatterns
У меня на сайте есть только две страницы : www.example.com и www.example.com/delete. Соответственно urlpatterns выглядит так:
urlpatterns = [
path('', MainView.as_view()),
path('delete/<int:number>', DeleteView.as_view())]
Если пользователь вводит в адресную строку www.example.com/about - он получает ошибку 404. Что нужно сделать что-бы при вводе любой ссылки которой нет в urlpatterns срабатывал redirect на www.example.com?
Ответы (1 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
Самый просто вариант это переопределить стандартное поведение handler404
во views
def bad_request(request, *args):
return HttpResponseRedirect(reverse('main'))
в urls приложения я бы добавил name
urlpatterns = [
path('', MainView.as_view(),name='main'),
path('delete/<int:number>', DeleteView.as_view())]
в urls проекта
from django.conf.urls import handler404
handler500 = 'app_name.views.bad_request'
handler404 = 'app_name.views.bad_request'
При этом надо будет поставить DEBUG=False