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

相关内容

热门资讯

辅助透视!德普之星的辅助工具介... 辅助透视!德普之星的辅助工具介绍,wpk辅助哪里买,学习教程(真实有挂)-哔哩哔哩一、德普之星的辅助...
辅助透视!pokemmo辅助工... 辅助透视!pokemmo辅助工具!总是一直都是有辅助技巧(有挂技巧)-哔哩哔哩1、每一步都需要思考,...
教你透视!wepoker私人局... 教你透视!wepoker私人局有透视吗,wepoker破解版内购,手册教程(有挂规律)-哔哩哔哩1、...
揭幕透视!大菠萝免费辅助器!总... 揭幕透视!大菠萝免费辅助器!总是是真的有辅助攻略(有挂总结)-哔哩哔哩1、点击下载安装,大菠萝免费辅...
揭露透视!wepoker透视挂... 揭露透视!wepoker透视挂底牌,wepoker买钻石有用吗,模块教程(有挂规律)-哔哩哔哩一、w...
关于透视!pokemmo辅助器... 关于透视!pokemmo辅助器手机版下载!本来真的是有辅助工具(确实有挂)-哔哩哔哩小薇(辅助器软件...
辅助透视!wepoker怎么提... 辅助透视!wepoker怎么提高运气,pokemmo脚本,举措教程(有挂教学)-哔哩哔哩1)wepo...
揭幕透视!拱趴大菠萝万能挂图解... 揭幕透视!拱趴大菠萝万能挂图解!原来真的是有辅助软件(有挂工具)-哔哩哔哩1、拱趴大菠萝万能挂图解辅...
教你透视!pokemmo脚本,... 教你透视!pokemmo脚本,德普之星有辅助软件吗,课程教程(有挂透明挂)-哔哩哔哩1、下载好德普之...
有挂透视!大菠萝手游辅助!都是... 有挂透视!大菠萝手游辅助!都是真的是有辅助工具(有挂头条)-哔哩哔哩1、操作简单,无需大菠萝手游辅助...