Django 处理 HTTP 参数
获取GET参数示例
# urls.py
# path 不处理正则
from django.urls import path
# re_path 以前叫 url,处理正则
# https://stackoverflow.com/questions/47947673/is-it-better-to-use-path-or-url-in-urls-py-for-django-2-0/47947947
from django.urls import re_path as url
from django.http import HttpResponse
# 处理 Query 参数
def doQuery (request):
# 获得 query 的 id
id=request.GET.get('id', default='defaultID')
urlpatterns = [
url(r'query/$', doQuery)
]
示例:/query?id=1
获取Param参数示例
# urls.py
from django.urls import re_path as url
from django.http import HttpResponse
# 处理Param参数
def doParam (request, id, name):
print(id, name)
return HttpResponse()
urlpatterns = [
url(r'param/(\d+)/(\w+)$', doParam),
]
示例:/param/32/dormao
获得JSON数据
# urls.py
import json
from django.http import HttpResponse
def doJSON(request):
try:
json = json.loads(request.body)
print(json)
except Exception as e:
print(e)
return HttpResponse()
urlpatterns = [
url(r'post/$', doJSON),
]
示例:带上 { "id": 1 }
访问 /post/