AssignUser/GroupstoContainerPage
创始人
2024-09-20 18:30:11
0

Assign User/Groups to Container Page”翻译成中文为“将用户/组分配到容器页面”,可以使用以下代码实现该功能:

from django.contrib.auth.models import Group, User
from django.shortcuts import render
from django.views.generic.edit import FormView
from django.views.generic.list import ListView
from django.views.generic.detail import DetailView

from .forms import AssignUsersToContainerPageForm
from .models import ContainerPage


class AssignUsersToContainerPageView(FormView, ListView, DetailView):
    template_name = 'assign_users_to_container_page.html'
    form_class = AssignUsersToContainerPageForm
    success_url = '/container_pages/'

    def get_context_data(self, **kwargs):
        container_page = ContainerPage.objects.get(pk=self.kwargs['pk'])
        users = User.objects.all()
        groups = Group.objects.all()
        context = super().get_context_data(**kwargs)
        context.update({
            'container_page': container_page,
            'users': users,
            'groups': groups,
        })
        return context

    def get_queryset(self):
        container_page = ContainerPage.objects.get(pk=self.kwargs['pk'])
        return container_page.users.all()

    def form_valid(self, form):
        container_page = ContainerPage.objects.get(pk=self.kwargs['pk'])
        users = User.objects.filter(pk__in=form.cleaned_data['users'])
        groups = Group.objects.filter(pk__in=form.cleaned_data['groups'])
        container_page.users.set(users)
        for group in groups:
            container_page.groups.add(group)
        return super().form_valid(form)

这段代码中,首先通过导入需要的模块和函数,引入了表单 AssignUsersToContainerPageForm 和模型 ContainerPage。然后创建视图类 AssignUsersToContainerPageView,集成了三个类:FormViewListViewDetailView,用于展示容器页面、显示用户列表和显示组列表。其中,FormView 用于处理表单提交,ListView 用于显示用户列表,DetailView 用于展示容器

相关内容

热门资讯

wepoke是真的有挂!德州游... wepoke是真的有挂!德州游戏辅助器(透视)从前有挂(详细辅助安装教程);致您一封信;亲爱wepo...
透视神器!wepoker底牌透... 透视神器!wepoker底牌透视脚本,wepoker辅助器如何使用(详细辅助细节揭秘)wepoker...
wepoke计算辅助!微扑克怎... wepoke计算辅助!微扑克怎么用模拟器(透视)其实是真的有挂(详细辅助细节方法)1、不需要AI权限...
wepoke有辅助挂!德扑保险... 您好,wepoke有辅助挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
透视能赢!hhpoker万能辅... 透视能赢!hhpoker万能辅助器,wepoker游戏的安装教程(详细辅助2025新版技巧);1、该...
wepoke辅助德之星!wep... 一、wepoke辅助德之星简介了解软件请加微:136704302wepoke辅助德之星是一款在线扑克...
透视好友!德普之星辅助功能如何... 透视好友!德普之星辅助功能如何打开,wepoker脚本下载(详细辅助专业教程);进入游戏-大厅左侧-...
wpk ai辅助!wepoke... 1、wpk ai辅助!wepoke系统规律(透视)最初有挂(详细辅助普及教程);代表性(透视辅助软件...
透视有挂!智星德州菠萝安装,w... 透视有挂!智星德州菠萝安装,wepoker免费脚本弱密码(详细辅助力荐教程);1、让任何用户在无需智...
aapoker挂!扑克王辅助工... 您好,aapoker挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...