django获取请求参数
1. 获取URL路径中的参数
- 未命名参数(位置参数)
http://127.0.0.1/goods/1/2
url(r'^goods/(\d+)/(\d+)$',views.goods)
def goods(request, a, b):
return HttpResponse("您请求的是 %s 类商品下编号为 %s 的商品" % (a, b))
- 命名参数(关键字参数)
http://127.0.0.1/goods/1/2
url(r'^goods/(?P<type>\d+)/(?P<id>\d+)$', views.goods)
def goods(request, id, type):
return HttpResponse("您请求的是 %s 类商品下编号为 %s 的商品" % (type, id))
2. 获取查询字符串
127.0.0.1:8000/goods?type=1&id=99
url(r'^user/$',views.goods)
def goods(request):
id = request.GET.get("id")
pid = request.GET.get("type")
return HttpResponse("您请求的是 %s 类商品下编号为 %s 的商品" % (type, id))
3. 获取Form表单数据
def goods(request):
id = request.POST.get("id")
pid = request.POST.get("type")
return HttpResponse("您请求的是 %s 类商品下编号为 %s 的商品" % (type, id))
4. 获取非表单类型
def goods(request):
json_data = request.body
dict_data = json.loads(json_data)
id = dict_data.get("id")
type = dict_data.get("type")
return HttpResponse("您请求的是 %s 类商品下编号为 %s 的商品" % (type, id))
5. 获取文件
def logo(request):
file = request.FILES('Logo')
with open('xxx', 'wb') as f:
f.save(file)
6. 获取远程IP
def index(request):
ip = request.META.get("REMOTE_ADDR")
return HttpResponse("%s 正在访问" % ip)