#python #django #web #django-views
#python #django #веб #django-представления
Вопрос:
Я написал эту логику в своем views.py , и я использовал представления на основе классов, детальный просмотр:
@login_required
class profileView(DetailView):
model = profile
template_name = "users/profile.html"
и в urls.py файл Я написал это:
from django.urls import path,include
from . import views
from .views import profileView
urlpatterns = [
path('register/',views.register,name="register"),
path('login/',views.login_user,name="login_user"),
path('profile/',profileView.as_view(),name="profile_view"),
]
версия django, которую я использую, — 3.1, а версия python — 3.8.
Я надеюсь, что у кого-то есть ответ на мой вопрос.
Ответ №1:
Вы не можете использовать @login_required
для представления на основе классов, поскольку это возвращает функцию. Вы используете LoginRequiredMixin
[Django-doc]:
from django.contrib.auth.mixins import LoginRequiredMixin
class profileView(LoginRequiredMixin, DetailView):
model = profile
template_name = 'users/profile.html'