如何在Django中将用户重定向到具有基于类的视图的登录页面?

如何在Django中将用户重定向到具有基于类的视图的登录页面?,django,django-models,django-views,Django,Django Models,Django Views,因此,基本上我希望未登录的用户在尝试访问诸如创建帖子或配置文件页面之类的页面时被发送到登录页面。我知道如何使用基于函数的视图实现这一点,但我很好奇如何在CBV中实现这一点 class CreatePostView(LoginRequiredMixin,CreateView): # ... 在此查看 我想知道如果没有登录,我将如何重定向用户 我是否需要另一个函数来执行此操作,或者Django中是否有允许此操作发生的功能? 谢谢:)您可以在视图中执行此操作。py class PostUpdateV

因此,基本上我希望未登录的用户在尝试访问诸如创建帖子或配置文件页面之类的页面时被发送到登录页面。我知道如何使用基于函数的视图实现这一点,但我很好奇如何在CBV中实现这一点

class CreatePostView(LoginRequiredMixin,CreateView):
# ... 在此查看
我想知道如果没有登录,我将如何重定向用户

我是否需要另一个函数来执行此操作,或者Django中是否有允许此操作发生的功能?
谢谢:)

您可以在视图中执行此操作。py

class PostUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
    model = posts
    fields = ['Title','Post_content']

    def form_valid(self, form):
        form.instance.Name = self.request.user
        return super().form_valid(form)

    def test_func(self):
        post = self.get_object()
        if self.request.user == post.Name:
            return True
        return False
选中此
类CreatePostView(LoginRequiredMixin,CreateView):
将自动将匿名用户重定向到登录页面。只需在设置中设置,或在视图中设置
login\u url