Есть ли другой способ использовать параметр django @login_required?

эта мелочь не дает мне покоя со вчерашнего дня, я пытался добавить параметр @login_required к моей функции create в django, код работает очень хорошо без добавления параметра @login_required, но при добавлении @login_required выдает "страница не найдена". вот мой код.

urls.py

    app_name = 'accounts'

    urlpatterns = [
    path('signup', views.signup_view, name='signupp') ,
    path('login', views.login_view, name='loginn'), 
    path('logout', views.logout_view, name='logoutt')   

]

просмотров

    from django.contrib.auth.decorators import login_required

    @login_required(login_url='accounts/loginn/')
    def jayapp_create(request):
    return render(request, 'jayapp/jayapp_create.html' )

   


 when i go to http://127.0.0.1:8000/jayapp/create/

it shows
Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/jayapp/accounts/loginn/?next=/jayapp/create
Using the URLconf defined in JayDjango.urls, Django tried these URL patterns, in this order:

admin/ счета/ jayapp/ [name='list-in'] jayapp/ log jayapp/ create [name='create'] jayapp/ / [name='detail'] backen/ ^media/(?P.*)$ Текущий путь, jayapp/accounts/loginn/, не соответствует ни одному из этих путей.

Вы видите эту ошибку, потому что в вашем файле настроек Django установлено DEBUG = True. Измените на False, и Django отобразит стандартную страницу 404.

Для того чтобы использовать декоратор @login_required, вам необходима функция входа и выхода.

В качестве альтернативы @login_required можно использовать условие if: if request.user.is_authenticated:.

Вернуться на верх