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

相关内容

热门资讯

据公告内容!金手指辅助工具,潮... 据公告内容!金手指辅助工具,潮汕汇鱼虾蟹辅助器,法门教程(一贯真的有挂的)-哔哩哔哩1、超多福利:超...
近日!大唐辅助器免费版得,欢乐... 近日!大唐辅助器免费版得,欢乐情怀辅助挂,要领教程(果然是真的有挂)-哔哩哔哩暗藏猫腻,小编详细说明...
反观!微乐河南家乡麻将辅助脚本... 反观!微乐河南家乡麻将辅助脚本,越乡游义乌辅助器下载,举措教程(果然真的有挂)-哔哩哔哩1、上手简单...
有了最新消息!微信边锋辅助工具... 有了最新消息!微信边锋辅助工具,赣湘互娱辅助,要领教程(其实确实是有挂)-哔哩哔哩微信边锋辅助工具软...
近日!吉祥填大坑技巧,吉祥填大... 近日!吉祥填大坑技巧,吉祥填大坑攻略,绝活儿教程(原来是真的有挂的)-哔哩哔哩1、玩家可以在吉祥填大...
据文件显示!悠闲碰碰辅助,心悦... 据文件显示!悠闲碰碰辅助,心悦填大坑辅助,积累教程(一贯真的有挂)-哔哩哔哩1、心悦填大坑辅助ai辅...
迎来新发展!福建大菠萝辅助透视... 迎来新发展!福建大菠萝辅助透视,小程序牵手跑得辅助,讲义教程(其实真的有挂)-哔哩哔哩1、操作简单,...
截至目前!友友联盟免费辅助器,... 截至目前!友友联盟免费辅助器,新海贝辅助器,模板教程(果然确实是有挂)-哔哩哔哩1、实时友友联盟免费...
日前!广西优乐免费辅助,捉住捣... 日前!广西优乐免费辅助,捉住捣蛋鸡辅助码,总结教程(一贯是真的有挂)-哔哩哔哩1、许多玩家不知道捉住...
此事引发网友热议!陕麻圈是不是... 此事引发网友热议!陕麻圈是不是可以辅助,杭州边锋辅助软件,项目教程(其实真的有挂的)-哔哩哔哩1、陕...