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

相关内容

热门资讯

一分钟快速了解开挂脚本!KEL... 一分钟快速了解开挂脚本!KELE多功能开挂脚本,KELE本来存在有开挂脚本1.KELE 选牌创建新账...
一分钟了解透视挂教程!君子道多... 一分钟了解透视挂教程!君子道多功能透视挂教程,君子道都是存在有透视挂教程1、进入到君子道是否有挂之后...
重大推荐辅助器技巧!彩虹沁阳麻... 重大推荐辅助器技巧!彩虹沁阳麻将多功能辅助器技巧,彩虹沁阳麻将总是有辅助器技巧彩虹沁阳麻将能透视中分...
交流学习经验开挂app!决胜朋... 交流学习经验开挂app!决胜朋来麻将多功能开挂app,决胜朋来麻将都是真的是有开挂app1、起透看视...
玩家必看辅助脚本!追忆多功能辅... 玩家必看辅助脚本!追忆多功能辅助脚本,追忆切实有辅助脚本一、追忆可以开透视的定义与意义1、追忆是不是...
重磅来袭辅助器教程!桂麻圈多功... 重磅来袭辅助器教程!桂麻圈多功能辅助器教程,桂麻圈切实存在有辅助器教程1、任何桂麻圈透视是真的假的的...
揭秘攻略辅助教程!中至余干麻将... 揭秘攻略辅助教程!中至余干麻将多功能辅助教程,中至余干麻将果然存在有辅助教程1)中至余干麻将有没有挂...
一分钟了解作弊器app!白金岛... 一分钟了解作弊器app!白金岛红拐弯多功能作弊器app,白金岛红拐弯果然真的是有作弊器app白金岛红...
推荐攻略辅助方法!大唐麻将全集... 推荐攻略辅助方法!大唐麻将全集多功能辅助方法,大唐麻将全集本来是有辅助方法1)大唐麻将全集辅助插件:...
最新技巧透视器方法!大唐麻将全... 您好,大唐麻将全集这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...