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

相关内容

热门资讯

透视神器!aapoker辅助软... 透视神器!aapoker辅助软件合法吗(透视)透视软件(竟然存在有挂);1、不需要AI权限,帮助你快...
透视智能ai!aapoker免... 透视智能ai!aapoker免费透视脚本(透视)透视插件(确实是有挂)1、每一步都需要思考,不同水平...
透视最新!aapoker透视插... 透视最新!aapoker透视插件(透视)脚本(切实有挂)1、让任何用户在无需aapoker透视插件A...
透视辅助!aapoker透视脚... 透视辅助!aapoker透视脚本入口(透视)辅助(总是存在有挂);该软件可以轻松地帮助玩家将aapo...
透视实锤!aapoker如何设... 透视实锤!aapoker如何设置胜率(透视)发牌逻辑(切实是有挂)1、aapoker如何设置胜率ai...
透视了解!aapoker透视脚... 透视了解!aapoker透视脚本下载(透视)插件下载(果然真的是有挂)1、完成aapoker透视脚本...
透视透视!aapoker俱乐部... 透视透视!aapoker俱乐部靠谱吗(透视)插件(其实是真的有挂)1、超多福利:超高返利,海量正版游...
透视了解!aapoker ai... 透视了解!aapoker ai插件(透视)插件下载(一直真的有挂)1、下载好aapoker ai插件...
透视有挂!aapoker ai... 透视有挂!aapoker ai插件(透视)真的假的(本来真的有挂)1、游戏颠覆性的策略玩法,独创攻略...
透视辅助!aapoker怎么拿... 透视辅助!aapoker怎么拿好牌(透视)发牌逻辑(一贯存在有挂);1)aapoker怎么拿好牌辅助...