Как вернуть 404 только для Django страницы регистрации Аллаута? - PullRequest
0 голосов
/ 21 января 2020

Я довольно новичок в Django, и вся работа, которую я проделал до сих пор, была с моделями / представлениями / наборами. Сайт, над которым я работаю, включает Django Аллах для аутентификации. Я успешно отредактировал / стилизовал шаблоны входа в систему / выхода из системы, но на страницу будут заходить люди, которым дается учетная запись, созданная в разделе администратора, а не регистрирующаяся самостоятельно - поэтому страница регистрации не нужна. Я хотел бы просто показать страницу 404 каждый раз, когда кто-то попадает на страницу регистрации. Я уже удалил все ссылки на страницу регистрации из других шаблонов.

Вкратце - как мне просто перенаправить кого-то на Django страницу по умолчанию, не найденную, когда он нажимает / account / signup /?

Мои попытки до сих пор вращались вокруг редактирования файла URLs.py, чтобы включить что-то вроде path('account_signup', page_not_found) (после его импорта вверху), или некоторых других манипуляций с этой строкой. Я, вероятно, упускаю что-то действительно простое, поскольку я немного расстроился ... И я не обнаружил переполнения стека, когда кто-то желал 404, когда пользователь переходил на одну из страниц учетной записи Аллаута.

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Чтобы автоматически обслуживать 404 страницы для не найденного URL-адреса, создайте представление 404, а затем в основных проектах urls.py укажите ниже код Прочтите официальные документы

handler404 = 'mysite.views.my_custom_page_not_found_view'

Для использование перенаправления Представление перенаправления в django документы

from django.views.generic.base import RedirectView
    url('/accounts/signup/', RedirectView.as_view(url='/', permanent=False),name='index')

Обратите внимание, что это 404 страницы для сборок разработчиков в django, но после включения отладки = False в настройках для рабочих приложений, это не видно,

0 голосов
/ 21 января 2020

Вы просто не можете использовать страницу регистрации в своих URL-адресах.

С другой стороны, это плохая практика - использовать createuperuser для создания пользователей, поскольку по умолчанию у них будет достаточно привилегий, даже для входа в систему. администрировать и редактировать вещи. Правильнее всего создать пользователя с помощью какого-то метода, который вы хотите, и с разрешениями, которые вы ему предоставляете.

Последний вариант позволит вам использовать декоратор в представлении регистрации, который разрешает доступ только к этому. страница, если у вас есть учетная запись с определенной привилегией, а не какой-либо пользователь. Нет смысла возвращать 404.

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