“”"
视图
1就是python函数
2函数的第一个参数 就是请求 和请求相关的 它是HttpRequest的实例对象
3 我们必须要返回一个响应 相应是HttpResponse的实例对象/子类实例对象
“”"
def redic(request):
render参数说明
1 当前的请求
2 模板文件
3 context 传递的参数
books=BookInfo.objects.all()
context={
‘books’:books
}
实现业务逻辑
1先把所有书籍查询出来
2组织数据
3 将组织好的数据传递给模板
return render(request,‘index.html’,context=context)
def index(request):
“”"
登录成功之后需要跳转到首页
注册成功后需要跳转到首页
“”"
# from django.urls import reverse
# viewname 通过试图名字
# 路由是动态获取的
# path=reverse('index')
# 如果我们设置了namespance 这个时候需要通过 namespace:name 来获取路由
# path=reverse('book:index')
# print(path)
# 重定向
from django.shortcuts import render, redirect
# return redirect('path')
return HttpResponse("index")
def detail(request, category_id, book_id):
# print(book_id,category_id)
# query_paras = request.GET
# queryDict只能获取一键多值的时候,只能获取最后的一个值
# 我们想要获取,一键一值的化,就需要使用QueryDict的get方法
# 我们想要获取 一键多值的化,就需要使用 QueryDict的getlist方法
# username=query_paras['name']
# password=query_paras.get('passward')
# print(username,password)
###############################POST表单数据##################################
data=request.POST
print(data)
###############################POST JSON 数据##################################
import json
# json是双引号
{
“name”:“baidu”
}
body=request.body #获取的是字符串
body_str=body.decode()
json_data = json.loads(body_str)
print(json_data)
###############################请求头 数据##################################
print(request.META)
############################### HttpResponse ##################################
HttpResponse
content 传递字符串 不要传递 对象,字典等数据
statue HTTP status code must be an integer from 100 to 599
content_type 是MIME类型
语法形式是:大类/小类型
return JsonResponse(‘detail’, status=200)
############################### JSONResponse ##################################
# data = {“name”: “itcast”}
# print(data)
# return JsonResponse(data)
###############################页面跳转 重定向##################################
path=reverse(‘book:index’)
return redirect(path)
“”"
保存在客户端的数据叫做cookie
1流程
2看效果
3从http协议的角度深入掌握cookie的流程(原理)
cookie流程:
1 因为是第一次请求,所以没有任何的cookie信息
2 服务器接收到请求之后,没有看到cookie信息,他就设置cookie信息
3 服务器设置一个cookie,这个cookie 信息设置在相应中
4 浏览器接收这个响应中有cookie信息,name=itcast浏览器会将cookie信息保存在浏览器中
5 浏览器第二次及其之后的请求都会携带cookie信息
6服务器会接受到携带的cookie信息
保存在服务器的数据叫session
“”"
def set_cookie(request):
# 1先判断有没有cookie信息
# 2获取用户名
username=request.GET.get('username')
# 3因为我们假设没有cookie信息,我们服务器就要设置cookie信息
response=HttpResponse('set_cookie')
response.set_cookie('username',username)
# 4 返回响应
return response