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

相关内容

热门资讯

9分钟指南书!九天大厅挂价格,... 9分钟指南书!九天大厅挂价格,新祥心辅助脚本(辅助)一贯真的是有辅助(哔哩哔哩)一、新祥心辅助脚本可...
第十分钟窍要!杭麻圈辅助工具,... 第十分钟窍要!杭麻圈辅助工具,天酷游戏交易平台(辅助)原来是有辅助(哔哩哔哩)1、完成天酷游戏交易平...
第六分钟举措!四川游戏家园手机... 第六分钟举措!四川游戏家园手机版辅助,三哥玩app辅助(辅助)果然有挂下载(哔哩哔哩)1、金币登录送...
第八分钟攻略!金州水鱼脚本,新... 第八分钟攻略!金州水鱼脚本,新九五有没有脚本(辅助)果然有挂软件(哔哩哔哩)1、让任何用户在无需新九...
第六分钟秘籍!天天川南辅助,超... 第六分钟秘籍!天天川南辅助,超级三加一辅助工具(辅助)果然是真的安装(哔哩哔哩)1、超级三加一辅助工...
第七分钟教程书!拼三张辅助器,... 第七分钟教程书!拼三张辅助器,海贝之城辅助软甲下载(辅助)原来真的有平台(哔哩哔哩)1、用户打开应用...
第五分钟指引!蜀渝牌乐汇挂机软... 第五分钟指引!蜀渝牌乐汇挂机软件,天酷辅助巡查系统(辅助)果然真的是有安装(哔哩哔哩)该软件可以轻松...
8分钟讲义!微友辅助器免费版v... 8分钟讲义!微友辅助器免费版v2.0,新财神正版辅助挂(辅助)真是真的是有辅助器(哔哩哔哩)1、8分...
8分钟策略!椰岛长胜辅助,随意... 8分钟策略!椰岛长胜辅助,随意玩聚乐部辅助(辅助)本来是有插件(哔哩哔哩)1、该软件可以轻松地帮助玩...
2分钟课程!陕麻圈是不是可以作... 2分钟课程!陕麻圈是不是可以作必弊,蜜蜂大厅辅助插件(辅助)一直真的是有软件(哔哩哔哩)1)陕麻圈是...