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

相关内容

热门资讯

透视能赢"约局吧游戏... 透视能赢"约局吧游戏挂"详细辅助扑克教程(透视脚本透视)是一款可以让一直输的玩家,快速成为一个“必胜...
透视好友"红龙pok... 透视好友"红龙poker作弊指令"详细辅助曝光教程(免费脚本咨询神器);玩家必备必赢加哟《13670...
透视挂"hhpoke... 透视挂"hhpoker免费透视脚本"详细辅助新2025教程(破解器激活码透视);实战中需综合运用上述...
透视透视"hhpok... 透视透视"hhpoker辅助软件是真的么"详细辅助曝光教程(手机插件软件)1、很好的工具软件,可以解...
透视教学"wepok... 透视教学"wepoker有透视吗"详细辅助规律教程(有辅助插件神器);建议优先通过wepoker有透...
透视智能ai"wep... 透视智能ai"wepoker挂"详细辅助微扑克教程(买脚本靠谱技巧),支持语音通讯、好友开房及战队组...
透视透视"hhpok... 透视透视"hhpoker怎么开透视"详细辅助技巧教程(透视脚本免费下载pc技巧);玩家必备必赢加哟《...
透视计算"wepok... 透视计算"wepoker代打辅助"详细辅助玩家教程(智能辅助插件辅助);致您一封信;亲爱wepoke...
透视系统"拱趴大菠萝... 透视系统"拱趴大菠萝有什么挂"详细辅助2025教程(私人局俱乐部技巧)是一款可以让一直输的玩家,快速...
透视总结"xpoke... 透视总结"xpoker辅助助手"详细辅助线上教程(私人局开挂视频技巧)是一款可以让一直输的玩家,快速...