day17-django用户登陆及跳转,后台管理页面和django生命周期
一、概述
上一回我们说到页面登陆成功,并且跳转到baidu ,但是实际使用中,不是这样的。需要跳转到我们自己的后台页面中,并且做点什么业务操作。
二、模板中的for循环
2.1、模板中的for 循环
说明:上回我们说到,在模板中传入一个用户名,密码的错误提示信息,仅仅是一个字典,字符串
如果要传入更多信息,我们就需要用到 for 循环
1 {% for 元素名 in 列表名 %} 2 {{ 元素值}} #如果是字典的话,是:{{元素.key值}},比如:{{row.username}},不是{{row["username"]}} 3 {% endfor %}
下面举例子:
a、urls 中添加home ,

b、新建html,填写

c、在views 中新建 home 函数

d、结果

三、用户登陆跳转后台,在后台搞事情
1、续上回的栗子中,我们让用户登陆成功之后,不跳转到baidu ,跳转到home 中。
修改login 函数
1 def login(request):
2 if request.method=="GET": 3 return render(request,'login.html') 4 elif request.method=="POST": 5 print("USER",request.POST.get("user",None)) 6 print("PWD",request.POST.get("pwd",None)) 7 if request.POST.get("user",None)=="root" and request.POST.get("pwd",None)=="123": 8 return redirect("/home/") 9 else: 10 error_msg="用户密码错误" 11 return render(request,"login.html",{"error_msg":error_msg})
2、在home中让用户添加用户信息,并展示
1 user_list=[ 2 {"user":"zhangsan","email":"niubi1@163.com","gender":"M"}, 3 {"user":"lisi","email":"niubi2@163.com","gender":"F"}, 4 {"user":"wangwu","email":"niubi3@163.com","gender":"M"}, 5 ] 6 7 def home(request): 8 if request.method=="POST": 9 print(request.method) 10 user=request.POST.get("user",None) 11 email=request.POST.get("email",None) 12 gender=request.POST.get("gender",None) 13 temp={"user":user,"email":email,"gender":gender} 14 print(user,email,gender) 15 user_list.append(temp) 16 return render(request,"home.html",{"user_list":user_list})

四、django的生命周期
原理:
-> URL对应关系(匹配) -> 视图函数 -> 打开1个html文件,读取内容 -> 返回给用户


浙公网安备 33010602011771号