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

相关内容

热门资讯

热门推荐!微信小程序多功能辅助... 热门推荐!微信小程序多功能辅助,盛世辅助器,详细app(有挂神器)1、实时微信小程序多功能辅助透视辅...
最新技巧!黑科技微乐小程序辅助... 最新技巧!黑科技微乐小程序辅助器免费,随意玩工具箱辅助器,详细教程(真是有挂)1、点击下载安装,黑科...
盘点十款!乐乐围棋入门辅助,小... 盘点十款!乐乐围棋入门辅助,小程序游戏赴沪期,详细app(有挂教学)1、首先打开小程序游戏赴沪期辅助...
实操分享!新超凡手游辅助,雀友... 实操分享!新超凡手游辅助,雀友会广东潮汕麻雀万能辅助器,详细挂(有挂教程)1、全新机制【雀友会广东潮...
一起来探讨!纳祥游戏脚本,微信... 一起来探讨!纳祥游戏脚本,微信小程序辅助工具,详细攻略(有挂解惑)1、这是跨平台的微信小程序辅助工具...
一分钟揭秘!新八戒辅助,挂是真... 一分钟揭秘!新八戒辅助,挂是真的假的,详细器(确实有挂)1、全新机制【挂是真的假的ai辅助工具激活码...
最新通报!微信小程序微乐房间怎... 最新通报!微信小程序微乐房间怎么开挂,打哈儿床将辅助最新,详细软件(有挂技巧)1、全新机制【微信小程...
玩家实测!欢乐达人暗堡破解,赣... 您好,欢乐达人暗堡破解这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
一分钟揭秘!情怀手机麻将辅助器... 一分钟揭秘!情怀手机麻将辅助器,功夫川麻辅助,详细工具(详细教程)1、金币登录送、破产送、升级送、活...
今日科普!微信广东雀神挂件辅助... 今日科普!微信广东雀神挂件辅助,对战互娱辅助系统,详细神器(有挂规律);1、下载好微信广东雀神挂件辅...