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

相关内容

热门资讯

记者揭秘!xpoker辅助控制... 记者揭秘!xpoker辅助控制(辅助挂)确实是真的有挂(有挂实锤辅助器)1、记者揭秘!xpoker辅...
教学盘点!德普之星透视辅助软件... 教学盘点!德普之星透视辅助软件(辅助挂)一贯真的有挂(有挂猫腻辅助技巧)1)辅助插件:进一步探索辅助...
攻略讲解!wepoker透视脚... 攻略讲解!wepoker透视脚本下载(辅助挂)都是是有挂(有挂解惑辅助插件)1、点击下载安装,脚本分...
一分钟了解!智星德州插件202... 一分钟了解!智星德州插件2024最新版(辅助挂)总是存在有挂(有挂技巧辅助工具)1、每一步都需要思考...
盘点几款!aapoker辅助软... 盘点几款!aapoker辅助软件合法吗(辅助挂)果然真的是有挂(果真有挂辅助器)脚本下载中分为三种模...
一分钟揭秘!wepoker免费... 一分钟揭秘!wepoker免费透视脚本(辅助挂)其实真的是有挂(证实有挂辅助插件)1、免费脚本咨询教...
总算了解!wepoker私人局... 总算了解!wepoker私人局可以透视(辅助挂)总是是有挂(真实有挂辅助工具)1、在插件功能辅助器技...
必知教程!德州局脚本(辅助挂)... 必知教程!德州局脚本(辅助挂)真是是真的有挂(讲解有挂辅助方法)1、超多福利:超高返利,海量正版游戏...
分享开挂内幕!pokernow... 分享开挂内幕!pokernow辅助工具(辅助挂)一直真的有挂(有挂详情辅助脚本)透视方法中分为三种模...
研究成果!拱趴大菠萝辅助神器(... 研究成果!拱趴大菠萝辅助神器(辅助挂)其实真的有挂(有挂教学辅助器)1、进入游戏-大厅左侧-新手福利...