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 用于展示容器

相关内容

热门资讯

玩家必看科普!多乐找刺激脚本,... 玩家必看科普!多乐找刺激脚本,闲聚鱼虾蟹软件脚本辅助器,详细app(有挂讲解)1、闲聚鱼虾蟹软件脚本...
据悉!德普之星怎么开辅助,德普... 据悉!德普之星怎么开辅助,德普之星透视辅助,原来是有挂(确实有挂)进入游戏-大厅左侧-新手福利-激活...
记者发布!微乐老友广东辅助器,... 记者发布!微乐老友广东辅助器,哥哥打大a外挂,详细神器(有挂方针)1、微乐老友广东辅助器脚本辅助下载...
截至目前!poker红龙辅助,... 截至目前!poker红龙辅助,德普之星私人局辅助免费,竟然是有挂(有挂秘诀)1、完成德普之星私人局辅...
一分钟教会你!来来拼十辅助免费... 一分钟教会你!来来拼十辅助免费下载,多乐跑辅助,详细教程(有挂技巧)1、打开软件启动之后找到中间准星...
近期!pokemmo手机版透视... 近期!pokemmo手机版透视脚本,德普辅助软件,一直确实有挂(揭秘有挂)在进入德普辅助软件软件靠谱...
最新研发!广东雀神智能插件免费... 最新研发!广东雀神智能插件免费,四川途游破解安装包,详细插件(揭秘有挂)暗藏猫腻,小编详细说明广东雀...
不少玩家反映!德扑圈透视挂,德... 不少玩家反映!德扑圈透视挂,德普之星透视辅助软件是真的吗,一直存在有挂(有挂分析)德普之星透视辅助软...
分享实测!哥哥打大a辅助神器,... 分享实测!哥哥打大a辅助神器,牵手app破解,详细教程(有挂辅助)小薇(辅助器软件下载)致您一封信;...
据权威媒体报道!pokemmo... 据权威媒体报道!pokemmo脚本,智星德州可以透视吗,一直真的有挂(有挂秘籍)1.智星德州可以透视...