【问题标题】:how do i wrtite django fbv to class based view我如何将 django fbv 写入基于类的视图
【发布时间】:2022-01-16 03:05:54
【问题描述】:

我有两个用户类型 a 和 b 我需要将下面的 fbv 写入基于类的 Logoutview(auth.view) 我如何将下面的 fbv 写入 cbv

views.py

@login_required
def logout(request):

    if request.user.usertype_a:
        logout(request)
        return redirect(reverse('user_a_login'))
    else:
        logout(request)
        return redirect(reverse('user_b_login'))

【问题讨论】:

  • 这些答案对你有用吗?
  • 我已经在你的帖子之前写过兄弟我希望在 LogoutView 中具体说明
  • @Sumithran 对不起兄弟,我认为不需要
  • 无需抱歉,但当人们将时间投入到您的问题上时,您必须负责。
  • @Sumithran 我同意兄弟我有点着急忘记了

标签: python-3.x django django-views django-class-based-views


【解决方案1】:

试试这个

from django.views import View

class LogOutView(View):

    def get(self, request, *args, **kwargs):
        logout(request)
    
        if request.user.usertype_a:
            return redirect(reverse('user_a_login'))
    
        return redirect(reverse('user_b_login'))

或者您可以使用LogoutView 并覆盖其调度方法以进行自定义重定向

【讨论】:

    【解决方案2】:

    尝试将其添加到您的 urls.py:

    from django.contrib.auth import views as auth_views
    
    
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      • 2016-01-23
      • 2014-02-16
      相关资源
      最近更新 更多