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

相关内容

热门资讯

wepoker怎么设置盖牌!w... wepoker怎么设置盖牌!we-poker辅助器(透视)脚本-一贯总结真的有挂进入游戏-大厅左侧-...
wepoker底牌透视!wpk... wepoker底牌透视!wpk辅助(透视)神器-竟然曝光有挂1、任何wepoker底牌透视透视是真的...
hhpoker辅助软件!wej... hhpoker辅助软件!wejoker辅助器要钱玩吗(透视)教程-原来曝光真的是有挂一、wejoke...
德普之星辅助软件!wpk透视辅... 德普之星辅助软件!wpk透视辅助靠谱吗(透视)软件-果然总结真的有挂1、点击下载安装,德普之星辅助软...
德州机器人代打脚本!wepok... 德州机器人代打脚本!wepoker好友助力码(透视)攻略-原来科普真的有挂德州机器人代打脚本!wep...
hhpoker破解工具!aap... 您好,aapoker安装包怎么使用这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
wepoker模拟器哪个!we... wepoker模拟器哪个!wepoker辅助器下载(透视)脚本-确实揭幕真的是有挂1、玩家可以在we...
wepoker私局代打!拱趴大... wepoker私局代打!拱趴大菠萝万能挂(透视)工具-好像推荐真的有挂亲,关键说明,拱趴大菠萝万能挂...
wpk透视工作室!pokemm... wpk透视工作室!pokemmo脚本(透视)技巧-切实解密真的是有挂该软件可以轻松地帮助玩家将wpk...
wepoker有脚本吗!pok... wepoker有脚本吗!pokemomo辅助工具(透视)神器-都是有挂是有挂;1、完成pokemom...