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透视外挂,wpk辅助效果... wpk透视外挂,wpk辅助效果实测,智星德州菠萝辅助器推荐;是一款可以让一直输的玩家,快速成为一个“...
微扑克透牌真假,wpkai辅助... 微扑克透牌真假,wpkai辅助实战效果,智星德州菠萝辅助1、在wpkai辅助实战效果ai机器人技巧中...
德扑之星ai代打,wepoke... 您好,wepokeai代打这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
wepoke透视该购买渠道,w... wepoke透视该购买渠道,wpk辅助器是真是假,智星德州菠萝怎么开挂1)wpk辅助器是真是假辅助挂...
智星德州辅助器,wepoke软... 一、wepoke软件透明挂价格简介了解软件请加微:136704302wepoke软件透明挂价格是一款...
智星德州菠萝偷偷看牌功能,wp... 1、智星德州菠萝偷偷看牌功能,wpkai辅助有没有用,智星德州菠萝开挂;代表性(透视辅助软件透明挂)...
aapoker辅助工具使用教程... aapoker辅助工具使用教程,wepoke有规律吗,智星德州菠萝外挂是一款可以让一直输的玩家,快速...
aapoker辅助,wepok... aapoker辅助,wepoke黑科技,智星德州菠萝怎么开挂;是一款可以让一直输的玩家,快速成为一个...
aapoker外挂实测,WPK... aapoker外挂实测,WPK辅助器的使用教程,智星德州辅助器是一款可以让一直输的玩家,快速成为一个...
德朴之星辅助器,微扑克辅助工具... 德朴之星辅助器,微扑克辅助工具,智星德州菠萝辅助器推荐1、构建自己的微扑克辅助插件;2、选择您最喜爱...