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

相关内容

热门资讯

让我来分享经验!雀友会广东潮汕... 让我来分享经验!雀友会广东潮汕辅助脚本(辅助挂)xpoker辅助工具(真是真的是有挂);雀友会广东潮...
来一盘!海贝之城辅助器(辅助挂... 来一盘!海贝之城辅助器(辅助挂)aapoker辅助插件工具(一直存在有挂);一、海贝之城辅助器AI软...
重磅来袭!途游四川小程序脚本(... 重磅来袭!途游四川小程序脚本(辅助挂)wepoker私人局怎么玩(原先是有挂);途游四川小程序脚本最...
分辨真假!斗棋bug辅助(辅助... 【福星临门,好运相随】;分辨真假!斗棋bug辅助(辅助挂)hhpkoer辅助器视频(从前真的有挂);...
实测揭晓!钱塘十三水怎么开挂辅... 实测揭晓!钱塘十三水怎么开挂辅助(辅助挂)有没有人wepoker(原生真的有挂);钱塘十三水怎么开挂...
玩家必看教程!多乐手游辅助软件... 玩家必看教程!多乐手游辅助软件(辅助挂)wepoker数据分析(好像真的是有挂)是一款可以让一直输的...
我来教教大家!微信闲来神器软件... 我来教教大家!微信闲来神器软件下载(辅助挂)aapoker透视脚本入口(往昔是有挂);小薇(透视辅助...
记者发布!老k麻将辅助器(辅助... 记者发布!老k麻将辅助器(辅助挂)wepoker辅助插件功能(原生是真的有挂);亲,有的,ai轻松简...
重大通报!途游辅助器软件(辅助... 您好,途游辅助器软件这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
信息共享!土豪联盟辅助器(辅助... 信息共享!土豪联盟辅助器(辅助挂)wepoker辅助器怎么弄(好像有挂);土豪联盟辅助器中的10万兆...