[英]PAGE NOT FOUND- ERROR(404);GET request; django-python
最近我一直在尝试在 django-python 中使用 GET 请求。 但是,当我这样做时遇到了 404 错误。 我想让程序打印给它的参数。
URL 图案:
path('add<int:hello>/',views.add,name = 'Add')
意见.PY:
def add(request,num1):
val1 = request.GET["num1"]
return HttpResponse(request,"Hello")
我在浏览器上搜索的内容:
http://127.0.0.1:8000/add?1
http://127.0.0.1:8000/add?hello=1
这应该工作。 您还需要添加查询参数名称。
要获得您需要使用此代码的值:
request.GET["hello"]
这里有几件事很奇怪或损坏。
给定path('add<int:hello>/', views.add, ...)
, Django 期望 function views.add
具有以下签名:
def add(request, hello):
模式'add<int:hello>/'
需要带有“add”后跟 integer 的 url,例如:
http://127.0.0.1:8000/add1 http://127.0.0.1:8000/add2 http://127.0.0.1:8000/add3...
等等。
request.GET["num1"]
期望在其查询字符串中包含num1=...
的网址,例如:
http://127.0.0.1:8000/add1?num1=...
HttpResponse
需要一个字符串类型作为它的第一个参数,而不是发布代码中的HttpRequest
类型。
这可能接近你想要的,它会起作用:
path('add<int:num1>/', views.add, name='Add')
def add(request, num1):
return HttpResponse(f"Hello {num1}")
# visit http://127.0.0.1:8000/add1
另一种变化:
path('add', views.add, name='Add')
def add(request):
num1 = request.GET['num1']
return HttpResponse(f"Hello {num1}")
# visit http://127.0.0.1:8000/add?num1=123
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.