У меня есть веб-сайт со следующими путями:
urlpatterns = [
path('admin/', admin.site.urls),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('login/', auth_views.LoginView.as_view(template_name='pages/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='pages/logout.html'), name='logout'),
path('mydata/', user_views.mydata, name="data"),
path('', include('mysite.urls')),
]
каждому разделу кодирования в каталоге представлений предшествует:
from django.contrib.auth.decorators import login_required
[...]
@login_required
def profile(request):
[...]
@login_required
def mydata(request):
[...]
Моя проблема в том, что я wi sh пользователь может видеть только «профиль» и «выход», а не «логин» или «регистрация» , лог c работает со всеми путями, кроме / mydata, и я не могу понять почему.
Что касается моего HTML файла, база . html выглядит следующим образом:
{% if user.is_authenticated %}
<a class="nav-item nav-link" href="/profile">Profile</a>
<a class="nav-item nav-link" href="/logout">Logout</a>
{% else %}
<a class="nav-item nav-link" href="/login">Login</a>
<a class="nav-item nav-link" href="/register">Register</a>
{% endif %}
Я включаю его в мои mydata . html файл выглядит так:
{% extends "pages/base.html" %}
{% block content %}
[...]
{% endblock content %}
Мой вопрос: Есть ли способ убедиться, что пользователь прошел проверку подлинности @ / mydata?
Я все еще относительно новичок, так что ваши отзывы приветствуются.