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

相关内容

热门资讯

重磅来袭!四川熊猫游戏辅助器,... 中至赣州黑科技辅助软件视频是一款专注玩家量身打造的游戏记牌类型软件,在中至赣州黑科技辅助软件视频这款...
透视了解!广西老友玩手游辅助,... 透视了解!广西老友玩手游辅助,德州局透视脚本下载安装最新版本(辅助挂)详细开挂辅助神器;无需打开直接...
技术分享!九游辅助破解版,吉祥... 技术分享!九游辅助破解版,吉祥填大坑有什么诀窍(真的有挂开挂辅助平台);无需打开直接搜索微信(136...
透视最新!佛手在线大菠萝为什么... 透视最新!佛手在线大菠萝为什么都输,佛手在线有挂吗(辅助挂)详细开挂辅助神器;无需打开直接搜索薇:1...
总算了解!微乐广西小程序开发,... >>您好:微信小程序雀神挂件确实是有挂的,很多玩家在这款微信小程序雀神挂件游戏中打牌都会发现很多用户...
透视能赢!衢州都莱有挂吗,wp... 透视能赢!衢州都莱有挂吗,wpk作弊最怕三个东西(辅助挂)详细开挂辅助插件;无需打开直接搜索加(薇:...
科技新动态!微信边锋干橙眼辅助... 科技新动态!微信边锋干橙眼辅助,推荐宝宝浙江辅助(有挂透明挂开挂辅助脚本)1、下载安装好微信边锋干橙...
透明辅助!欢乐联盟游戏辅助,w... >>您好:wepoker新号好一点吗确实是有挂的,很多玩家在这款wepoker新号好一点吗游戏中打牌...
必备辅助推荐!长春科乐辅助,新... 必备辅助推荐!长春科乐辅助,新九哥智能辅助app(确实有挂辅助开挂脚本) 了解更多开挂安装加(136...
透明软件!微信填大坑辅助,we... 透明软件!微信填大坑辅助,wepoker辅助透视软件(辅助挂)详细开挂辅助安装您好:wepoker辅...