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对象的属性: