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,集成了三个类:FormView,ListView和DetailView,用于展示容器页面、显示用户列表和显示组列表。其中,FormView 用于处理表单提交,ListView 用于显示用户列表,DetailView 用于展示容器

相关内容

热门资讯

关于辅助!指尖跑得快辅助透视挂... 关于辅助!指尖跑得快辅助透视挂,肇东麻将确实有外挂,好像有挂技巧1、下载好指尖跑得快正确养号方法之后...
现有说明如下透视挂!中至万年麻... 现有说明如下透视挂!中至万年麻将辅助透视挂,微乐河北麻将真的是有外挂,确实有挂辅助所有人都在同一条线...
热点推荐透视挂!铜铁互娱辅助透... 热点推荐透视挂!铜铁互娱辅助透视挂,古典情怀是有外挂,竟然有挂实锤1、玩家可以在铜铁互娱线上大神俱乐...
记者爆料辅助!网易棋牌辅助透视... 记者爆料辅助!网易棋牌辅助透视挂,天天监利麻将真的是有外挂,本来讲解有挂1、天天监利麻将模拟器是什么...
热点推荐透视挂!浙江游戏大厅双... 热点推荐透视挂!浙江游戏大厅双扣辅助透视挂,途游四国军旗是真的有外挂,一贯有挂功能1、浙江游戏大厅双...
一分钟了解透视挂!金陵八居辅助... 一分钟了解透视挂!金陵八居辅助透视挂,闲来麻将存在有外挂,都是有挂透视1、金陵八居辅助器安装包、金陵...
必备教程透视挂!星空大厅辅助透... 必备教程透视挂!星空大厅辅助透视挂,凡乐湖北麻将真的有外挂,真是确实有挂在进入星空大厅软件靠谱后,参...
于此同时开挂!多乐升级辅助透视... 于此同时开挂!多乐升级辅助透视挂,约逗进贤棋牌确实有外挂,果然有挂技术1、任何多乐升级透视是真的假的...
科普攻略透视挂!聚宝盆辅助透视... 科普攻略透视挂!聚宝盆辅助透视挂,同城游合肥麻将确实有外挂,果然揭秘有挂1、聚宝盆透视辅助软件激活码...
最新技巧透视挂!天空麻将辅助透... 最新技巧透视挂!天空麻将辅助透视挂,闲来陕西麻将存在有外挂,果然有挂技巧1、超多福利:超高返利,海量...