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

相关内容

热门资讯

黑科技挂!德州竞技联盟辅助(w... 您好,wepoke透明黑科技这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多...
黑科技计算!菠萝德州辅助神器(... 黑科技计算!菠萝德州辅助神器(aapoker辅助工具ai)原生是有挂(有挂透视)-哔哩哔哩是一款可以...
黑科技教学!wepoke软件规... 黑科技教学!wepoke软件规律(wepoke智能ai)本来是真的有挂(有挂分析)-哔哩哔哩1、we...
黑科技线上!哈糖大菠萝洗牌(德... 黑科技线上!哈糖大菠萝洗牌(德扑ai智能机器人线上代打)原来真的是有挂(有挂教程)-哔哩哔哩1、实时...
黑科技免费!wepoke到底有... 1、黑科技免费!wepoke到底有挂(德州ai软件购买)其实是真的有挂(有挂秘籍)-哔哩哔哩;该软件...
黑科技ai!扑克时间有后台控制... 黑科技ai!扑克时间有后台控制(微扑克如何让系统发好牌)本来是真的有挂(了解有挂)-哔哩哔哩(1)黑...
黑科技系统!wpk辅助器安装(... 黑科技系统!wpk辅助器安装(wpk最新黑科技)本然真的是有挂(有挂辅助)-哔哩哔哩1)wpk最新黑...
黑科技存在!微扑克辅助插件挂(... 黑科技存在!微扑克辅助插件挂(德扑ai机器人软件开发)切实是有挂(有挂存在)-哔哩哔哩您好,德扑ai...
黑科技线上!wepoke插件(... 1、黑科技线上!wepoke插件(德扑ai机器人软件开发)原本是真的有挂(有人有挂)-哔哩哔哩;代表...
黑科技数据!鱼扑克软件辅助(德... 黑科技数据!鱼扑克软件辅助(德扑ai智能机器人)确实存在有挂(有挂辅助)-哔哩哔哩(1)黑科技数据!...