如何让用户登陆:
用户(Client)每次一刷新,就会先给后台服务器(Server)发送一个请求(Request):getinfo获取用户信息,然后后台就会返回一个响应(Response),表示用户信息(用户名,头像)或者登录失败的响应。
创建账号系统:
首先是在django提供的后台数据库管理系统上进行扩充,扩充一个数据表就是创建一个类让他继承于django中的Model类, 使用delete=models.CASCADE当user删除的时候要一起删除,user就是User的一个对象
1.HttpResponse、render、redirect介绍
1.1.HttpResponse
作用为:内部传递一个参数,返回给浏览器
from django.shortcuts import HttpResponse
def from_request(request):
# Todo
return HttpResponse(‘OK’)
JosnResponse是HttpResponse的一个子类,JosnResponse会自动把字典转换成josn格式,HttpResponse需要手动转换。
render会调用HttpResponse函数
可接受三个参数,分别为请求request, 需要渲染的模板template,以及向模板传递的参数context,render(request, ‘template’, context)
from django.shotcuts import render
def from_request(request):
# Todo
# return render(request, ‘template.html’, context)
# or
return render(request, ‘template.html’)
1.3.redirect
接受一个URL参数,表示让浏览器跳转去指定的URL
from django.shotcuts import redirect
def from_request(request):
# Todo
return redirect(request, ‘page’)
2.Django请求和响应过程:
当一个web请求链接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的view函数,每个请求的视图函数都会把HttpRequest作为参数,并且返回一个HttpResponse对象。
4.QueryDict
HttpRequest对象中的GET和POST属性都是QueryDict类的对象,与Python字典很像,不同的是QueryDict对象一个键可以保存多个值
4.1.get()方法可以通request.GET。get()获取, 整个项目是前后端分离的, 需要传入一个参数,来判断请求来自哪一个平台,
根据键获取值
如果一个键同时拥有多个值,将获取最后一个值
如果键不存在则返回None值,可以设置返回自定义的默认值
dict.get(‘键’, 默认值)