python - 在 url Django 中获取参数值
问题描述
我是 Django 新手,我想从 URL 接收一个值,然后在过滤器中使用它,但我遇到了这个问题。
其中 value 是模型的一个字段,在 view.py
class ModelNumber(generics.ListAPIView):
permission_classes = [
IsAuthenticated,
]
serializer_class = ModelSerializer
def get_queryset(self):
queryset = Model.objects.all()
value = self.request.query_params.get('value')
return Model.objects.filter(value = value)
在 urls.py
path('model_number/(?P<receipt_ballot>\w+)$', views.ModelNumber.as_view()),
和模型.py
class Model(models.Model):
value = models.CharField("Number Value", max_length=12, null=True)
在网址中
http://192.168.0.3:8080/model_number/001-000002/
错误 :
找不到页面 (404)
当前路径 /model_number/001-000002/ 与其中任何一个都不匹配。
解决方案
您可以使用kwargs
url 中定义的键来获取该键的值。像:
def get_queryset(self):
# What you wanted
value_of_url_parameter = self.kwargs.get('receipt_ballot')
queryset = Model.objects.all()
value = self.request.query_params.get('value')
return Model.objects.filter(value = value)
推荐阅读
- opengl - EmitVertex 给出“错误 C1067:类型构造函数中的数据太少”
- sockets - Python3 Socket TypeError:必须是 str,而不是 bytes
- angular - POST 请求不工作,但 GET 工作正常。请求的资源上不存在“Access-Control-Allow-Origin”标头
- kotlin - Kotlin - var 与对象声明之间的区别
- r - 根据 numericInput 和 selectInput 创建表
- c# - 使用进程从 Web API 应用程序运行全局节点应用程序
- javascript - 从网页 javascript 中获取格式为“_ (10 RANDOM CHARACTERS)”的所有元素
- c# - IEnumerable
使用 'yield return' 实现的返回函数与创建集合 - python - 用 Python 做一些奇怪的拉格朗日插值
- python - 如何根据屏幕高度定义 kivy 下拉列表最大高度?