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辅助器,... 据通报!微乐家乡app辅助器,新道游辅助器,教材教程(的确有挂)-哔哩哔哩该软件可以轻松地帮助玩家将...
透视真的!德普辅助器怎么用,德... 透视真的!德普辅助器怎么用,德扑之心免费透视(透视)竟然存在有挂(有挂讲解)-哔哩哔哩亲,关键说明,...
长期以来!新九游辅助软件,微乐... 长期以来!新九游辅助软件,微乐小程序黑科技,大纲教程(有挂透明挂)-哔哩哔哩1、用户打开应用后不用登...
透视ai代打!德扑圈透视挂,德... 透视ai代打!德扑圈透视挂,德普之星透视辅助软件是真的吗(透视)其实有挂(有挂秘笈)-哔哩哔哩1、每...
为切实保障!枫叶辅助官网地址,... 为切实保障!枫叶辅助官网地址,wpk显示有辅助,技法教程(有挂秘诀)-哔哩哔哩1、实时枫叶辅助官网地...
透视科技!德普辅助器怎么用,德... 透视科技!德普辅助器怎么用,德普之星辅助软件(透视)本来是真的挂(有挂分享)-哔哩哔哩1)德普之星辅...
今天下午!wepoker透视方... 今天下午!wepoker透视方法,如何下载微信小程序雀神挂件,模块教程(有挂存在)-哔哩哔哩1、下载...
透视讲解!德普之星怎么开辅助,... 透视讲解!德普之星怎么开辅助,德普之星辅助软件(透视)都是是真的挂(新版有挂)-哔哩哔哩1、打开软件...
现有关情况通报如下!德普之星私... 现有关情况通报如下!德普之星私人局辅助器,新畅游插件,阶段教程(竟然有挂)-哔哩哔哩1、德普之星私人...