Python Django,视图,HttpRequest对象,接收请求参数
应用名/views.py(视图,视图函数,HttpRequest对象):
from django.shortcuts import render,redirect
# 视图函数,登陆检验 (第一个参数必须是HttpRequest对象)
def login_check(request):
# request.POST 保存的是post方式提交的参数 QueryDict类型
# request.GET 保存是get方式提交的参数 QueryDict类型
print(request.method) # POST GET 请求方式
# print(request.path) # /login_check 请求路径(不包含域名和参数)
# 获取提交的用户名和密码
username = request.POST.get('username') # 获取请求参数
password = request.POST.get('password')
if username == '张三' and password == '123':
# 用户名密码正确,跳转到首页
return redirect('/index')
else:
# 用户名或密码错误,跳转到登录页
return redirect('/login')
demo.py(QueryDict类型示例):
from django.http.request import QueryDict
# 创建QueryDict对象,并存放3个键值对。
q = QueryDict('a=1&b=2&c=3') # QueryDict类似字典
print(q['a']) # 获取QueryDict中的值。没有对应的值会报错。
print(q.get('b')) # 也可以通过get()获取。没有对应的值会返回None,不会报错。
print(q.get('e','默认值')) # 有对应的值就返回,没有就返回'默认值'
q1 = QueryDict('a=1&a=2&a=3') # QueryDict中的相同键可以对应多个值。(而字典的键只能对应一个值)
q1.get('a') # 3 默认取得是最后的值。
q1.getlist('a') # [1, 2, 3] 可以取出键对应的所有值。
HttpRequest对象的属性: