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、完成微扑克系...
黑科技辅助挂(红龙扑克ai)外... 黑科技辅助挂(红龙扑克ai)外挂透明挂辅助神器(透视)总是是真的有挂(黑科技方法);1、红龙扑克ai...
黑科技神器(wepoke计算辅... 黑科技神器(wepoke计算辅助)外挂透视辅助挂(透视)好像有挂(黑科技解密)1、金币登录送、破产送...
黑科技好牌(德扑之星辅牌)外挂... 黑科技好牌(德扑之星辅牌)外挂透明挂辅助神器(透视)果然有挂(黑科技技巧);1、金币登录送、破产送、...
黑科技教学(德州AI智能辅助机... 黑科技教学(德州AI智能辅助机器人)外挂透视辅助器(透视)果然是有挂(黑科技辅助)1、德州AI智能辅...
黑科技苹果版(aapoker透... 黑科技苹果版(aapoker透明挂辅助器)外挂透明挂辅助安装(透视)一直有挂(黑科技介绍)亲,关键说...
黑科技能赢(微扑克wpk透视辅... 黑科技能赢(微扑克wpk透视辅助)外挂透视辅助安装(透视)确实是真的有挂(黑科技解密);1、微扑克w...
黑科技挂(微扑克wpk辅助透视... 黑科技挂(微扑克wpk辅助透视)外挂透视辅助安装(透视)果然存在有挂(黑科技细节)1、下载好微扑克w...