Python (Django)试图找出如何使用Postman上的查询参数(url.py和views.py)获得正确的产品

Python (Django)试图找出如何使用Postman上的查询参数(url.py和views.py)获得正确的产品,python,django,http,Python,Django,Http,我一直在构建一个三明治商店应用程序,我成功地构建了models.py并插入了所有产品数据。然而,当我尝试使用Postman和Django服务器调用特定产品时,它始终显示404。我在《邮递员》上键入的内容如下: 下面是我的url.py和views.py代码 到目前为止,我已经尝试: url.py 为了澄清GET请求,我将在下面添加Postman的屏幕截图: 这似乎是由于URL路径格式错误造成的。这通常表示404未找到错误 您需要添加问号,它基本上构成了查询字符串。它在request.GETvie

我一直在构建一个三明治商店应用程序,我成功地构建了models.py并插入了所有产品数据。然而,当我尝试使用Postman和Django服务器调用特定产品时,它始终显示404。我在《邮递员》上键入的内容如下:

下面是我的url.py和views.py代码

到目前为止,我已经尝试: url.py

为了澄清GET请求,我将在下面添加Postman的屏幕截图:

这似乎是由于
URL
路径格式错误造成的。这通常表示
404未找到
错误

您需要添加问号,它基本上构成了查询字符串。它在
request.GET
views.py

您可以这样定义它,使用
使用
REGEX
模式(您也可以根据需要进行更改)

既然
URL
不能给出404错误,那么它现在有望返回一个响应


我终于解决了这个问题

我看了这一页,并据此即兴创作。。。

请求的最终版本为:

URL.py是:

from django.urls        import path, re_path
from .views             import ProductView

urlpatterns = [
    re_path(r'^(?:\?product_id=(?P<product_id>\d+)/)?$', ProductView.as_view()),
]
从django.url导入路径,重新设置路径
从视图导入ProductView
URL模式=[
re_路径(r'^(?:\?product_id=(?P\d+/)?$),ProductView.as_view(),
]

我按照您的建议修复了我的URL,但不知何故仍然无法正常工作
path('sandwich/(?P<product_id>[\w.-]+)/', ProductView.as_view())
import json
import bcrypt
import jwt

from django.views               import View
from django.shortcuts           import render
from django.http                import HttpResponse, JsonResponse
from django.db.models           import Q

from .models                    import Product, Category, SubCategory

class ProductView(View):
    def get(self, request):

        product_id = request.GET.get('product_id', None)

        return JsonResponse({'product_name':Product.objects.get(id=product_id).values()})
path('sandwich/(?P<product_id>[\w.-]+)/', ProductView.as_view()),
product_id = request.GET.get('product_id', None)
from django.urls        import path, re_path
from .views             import ProductView

urlpatterns = [
    re_path(r'^(?:\?product_id=(?P<product_id>\d+)/)?$', ProductView.as_view()),
]