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