首页 > 其他分享 >django 上下文管理器 get_context_data 使用

django 上下文管理器 get_context_data 使用

时间:2023-06-25 15:44:22浏览次数:34  
标签:管理器 get self django pkgs context 序列化 data

在Django中,序列化器(serializer)是用于处理数据的序列化和反序列化的类。而get_context_data()方法是用于获取视图上下文数据的方法。默认情况下,序列化器无法直接拿到get_context_data()中的内容。

如果你希望将get_context_data()中的内容传递给序列化器进行处理,可以通过以下几种方法实现:

  1. 将get_context_data()中的内容作为参数传递给序列化器的初始化方法。

例如,在视图中实例化序列化器时,将get_context_data()中的内容作为参数传递给序列化器的初始化方法。

class AaaList(APIView):


    def get_context_data(self,**kwargs):
        context = super().get_context_data(**kwargs)
        pkgs = self.request.data.get('pkgs')
        context.update({
            'pkgs' :pkgs
        })
        return context

    def post(self,request):
        serializer = AaaSeriallizer(data=request.data,context = self.get_context_data())
        if serializer.is_valid():
            serializer.save()
            return Response()
        else:
            returnResponse()

在序列化器中使用

class AaaSeriallizer(serializers.ModelSerializer):

    class Meta:
        model = Aaa
        fields = '__all__'




    def create(self,validated_data):
        instance = Aaa.objects.create(**validated_data)
        uuid = instance.uuid
        context_data = self.context
        pkgs = context_data.get('pkgs')
        # 拿到pkgs在序列化器中做其他操作
        return instance

 

标签:管理器,get,self,django,pkgs,context,序列化,data
From: https://www.cnblogs.com/ltyc/p/17503056.html

相关文章

  • Invalid character found in the request target [/api/hsFile/download?filePath=E:
    java.lang.IllegalArgumentException:Invalidcharacterfoundintherequesttarget[/api/hsFile/download?filePath=E:\\%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6&fileName=N230508A0002.xlsx].ThevalidcharactersaredefinedinRFC7230andRFC39861、原因:/a......
  • Elasticsearch专题精讲—— REST APIs —— Cluster APIs —— Cluster get settings
    RESTAPIs——ClusterAPIs——ClustergetsettingsAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/cluster-get-settings.html#cluster-get-settingsReturnscluster-widesettings.返回集群的设置。......
  • django之图书管理系统
    后端路由 urlpatterns=[path('admin/',admin.site.urls),首页re_path('^$',views.Bms.as_view()),图书path('book/',views.Books.as_view()),出版社path('publish/',views.Publish.as_view()),作者......
  • "快速访问"(Quick Access)是 Windows 操作系统中一个常用的功能,它允许用户快速访问最近
    "快速访问"(QuickAccess)是Windows操作系统中一个常用的功能,它允许用户快速访问最近使用的文件和常用的文件夹。它在资源管理器中的左侧导航窗格中显示,并提供了便捷的方式来查找和打开文件。在Windows10中,"快速访问"默认显示用户最近访问的文件和常用的文件夹。它会根据用户......
  • 1、BeanFactory.getBean 总览
    一句话概括本文以走马观花的姿态,简单分析了一波spring容器创建bean的大致环节,后续将通过单独的文章进行细讲其中的没个环节。本文将包含后文的链接,根据感兴趣的内容自取即可。1书接上回我们已经知道了spring是怎么解析标签的。现在我们解析完标签并注册到BeanFactoryReg......
  • pycharm中的gihub copilot中报错Sign in failed. Reason: Request signInInitiate fai
    pycharm中的gihubcopilot中报错Signinfailed.Reason:RequestsignInInitiatefailedwithmessage:getaddri无法使用问题解决方法:idea打开我们的插件settings-plugins-找到插件,点击homepage插件主页跳出的页面下载对应pycharm的github copilot版本安装问题解决......
  • django之视图层
    三板斧HttpResponse返回字符串类型render返回html页面并且在返回给浏览器之前还可以给html文件传值redirect重定向"""#视图函数必须要返回一个HttpResponse对象正确研究三者的源码即可得处结论Theviewapp01.views.indexdidn'treturnanHttpRes......
  • django入门
    django使用前注意事项: """1.计算机名称不能有中文2.一个pycharm窗口不要打开多个项目(跟不要出现文件夹套文件夹多级目录的出现)day01day02...3.文件名也不要出现中文如果django安装成功了但是启动就报错那么点击报错......
  • 【Django】图形验证码显示及验证
    图形验证码显示及验证开发项目时,在登陆或者注册功能中为防止脚本恶意破坏系统,故而添加图形验证码。1安装配置安装第三方库pipinstalldjango-simple-captcha配置settings.pyINSTALLED_APPS=[ ......'captcha',]将已存在的数据库迁移文件集同步到数据库中......
  • django前戏
    Web框架本质web框架本质上可以看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端。两者通过网络请求实现数据交互,学者们也可以从架构层面上先简单的将Web框架看做是对前端、数据库的全方位整合纯手撸web框架服务端importsocketserve......