在哪里可以访问 Django Rest Framework 中的请求参数?

2023-12-27

我使用 Django Rest Framework 和 python-requests 并通过 URL 传递多个变量,如下所示。

GET /api/boxobjects/?format=json&make=Prusa&model=i3&plastic=PLA HTTP/1.1

我正在传递变量品牌、型号和塑料。访问这些参数的推荐方法如下所示。

makedata = request.GET.get('make', '')

但是,我不知道该行代码应该放在哪里。我已经完成了 Django Rest Framework 的教程,并将我的视图设置为与教程大致匹配。

views.py:

@api_view(['GET'])
@login_required
def api_root(request, format=None):
    return Response({
        'Users': reverse('api:user-list', request=request, format=format),
        'Objects': reverse('api:object-list', request=request, format=format),
        'Files': reverse('api:file-list', request=request, format=format),
        'Config Files': reverse('api:config-list', request=request, format=format),
        'Box-objects': reverse('api:box-object-list', request=request, format=format),
    })

class BoxViewSet(viewsets.ModelViewSet):
    queryset = Uploadobject.objects.all().exclude(verified=False)
    serializer_class = BoxSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,
                            IsBox)

    def perform_create(self, serializer):
        serializer.save(owner=self.request.user)

    #Maybe get function here? Not displaying
    '''
    def get(self, request):
        print ("request set here?")
    '''

我应该在哪里放置一行代码来访问这些请求参数?


class BoxViewSet(viewsets.ModelViewSet):
    queryset = Uploadobject.objects.all().exclude(verified=False)
    serializer_class = BoxSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,
                            IsBox)

    def perform_create(self, serializer):
        serializer.save(owner=self.request.user)


    def get_queryset(self):
        req = self.request
        print(req)
        make = req.query_params.get('make')
        if make:
            self.queryset = uploadobject.objects.filter(make=make)
            return self.queryset
        else:
            return self.queryset

声明在做什么?

If 'make'位于请求的查询参数中,然后覆盖BoxViewSet具有基于新查询集的查询集属性'make'并归还它。否则返回默认查询集,排除任何未经验证的对象。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在哪里可以访问 Django Rest Framework 中的请求参数? 的相关文章

  • 无法在jupyter笔记本中导入torch

    系统 macOS 10 13 6 蟒蛇 3 7 蟒蛇3 我遇到麻烦时import torch在 jupyter 笔记本中 ModuleNotFoundError No module named torch 这是我安装 pytorch 的方法
  • Django:管理中的 AJAX ManyToManyField

    我要显示ManyToManyFields 在 admin 中就像filter horizontal确实如此 但会在用户在过滤器字段中键入内容时填充选项 有很多选项 一次性加载它们需要很多时间 I found django ajax 过滤字段
  • 使用实际值检查 cvxpy 中的约束是否正确

    在 cvxpy 中解决优化问题时 是否有一种好方法可以通过用实际值替换优化变量来检查约束是否有效 我有一个复杂的优化问题 100 多个约束 但我知道最佳解决方案应该是什么 但是 cvxpy 失败并显示错误消息ValueError Rank
  • Scrapy - 如何抓取网站并将数据存储在 Microsoft SQL Server 数据库中?

    我正在尝试从我们公司创建的网站中提取内容 我在 MSSQL Server 中为 Scrapy 数据创建了一个表 我还设置了 Scrapy 并配置了 Python 来抓取和提取网页数据 我的问题是 如何将Scrapy爬取的数据导出到我本地的M
  • 如何删除Python字符串的最后一个utf8字符

    我有一个包含 utf 8 编码文本的字符串 我需要删除最后一个 utf 8 字符 到目前为止我做到了 msg msg 1 但这只会删除最后一个字节 只要最后一个字符是 ASCII 代码 它就可以工作 当最后一个字符是多字节字符时 它不再起作
  • Python 中的计时代码块,无需将其放入函数中

    我想对一段代码进行计时 而不是将其放入单独的函数中 例如 def myfunc some code here t1 time time block of code to time here t2 time time print Code t
  • 为什么不能用反斜杠结束原始字符串? [复制]

    这个问题在这里已经有答案了 我在这里很困惑 尽管原始字符串会转换每个 to 但是当这个 最后出现它会引发错误 gt gt gt r so m e te xt so m e te xt gt gt gt r so m e te xt Synt
  • Python 中的动态关键字参数?

    python 有能力创建动态关键字吗 例如 qset filter min price usd range min price max price 我希望能够改变usd部分基于所选货币 是的 它确实 使用 kwargs在函数定义中 Exam
  • 谷歌应用程序引擎 urlfetch gzip 到字符串

    使用 Google App Engine 我尝试从包含一个 csv 文件的 URL 中获取 gzip 文件 最终我想在我的网页上输出csv文件的内容 我现在有以下代码 usr bin env python import webapp2 fr
  • heapq.nlargest 的时间复杂度是多少?

    我在看演讲者说 获得t列表中最大的元素n元素可以在O t n 这怎么可能 我的理解是创建堆将是O n 但是复杂度是多少nlargest本身就是O n t or O t 实际的算法是什么 在这种情况下 说话者是错误的 实际成本是O n log
  • 无法使用 BeautifulSoup4 (Python 3) 抓取特定表

    我想从 Ligue 1 足球网站上抓取一张表格 具体来说 该表包含有关卡片和裁判的信息 http www ligue1 com LFPStats stats arbitre competition D1 http www ligue1 co
  • Python 和 C#:IronPython 是绝对必要的吗?

    我主要是一名 C 程序员 但剩下的一个项目让我有 2 个选择 调用 python 脚本 保存为 py 文件 并处理返回值 或者 用C 重写整个python脚本 共6个 py文件 当然 如果我可以简单地实现选项 1 选项 2 就是一个主要的时
  • scipy.special.binom 和 scipy.misc.comb 之间有什么区别?

    scipy special binom 和 scipy misc comb 之间有什么区别 在 ipython 中我可以看到它们返回不同的类型并且也有不同的精度 scipy special binom 4 3 4 0 scipy misc
  • 如何测试pickle是否创建了文件?

    有没有办法检查文件是否已创建pickle 我可以捕获抛出的异常pickle load但没有特定的 不是 pickle 文件 例外 Pickle 文件没有标头 因此没有标准方法可以识别它们 除非尝试解开文件并查看这样做时是否引发任何异常 Yo
  • 如何计算伽罗瓦域上的numpy数组?

    我想在伽罗华域 GF4 上使用 numpy 数组 所以 我将 GF4 类设置为数组元素 它适用于数组 整数计算 但不适用于数组 数组计算 import numpy class GF4 object class for galois fiel
  • 关于二进制文件的一般问题

    我是初学者 在掌握二进制文件方面遇到困难 当我以二进制模式 在 python 中 写入文件时 我只写入普通文本 它没有任何二元性 我知道我计算机上的每个文件都是二进制文件 但我无法区分我以二进制模式编写的文件和音频 视频等文件 如果我在文本
  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl

随机推荐