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文件,读取内容  -> 返回给用户

  

 

posted @ 2018-07-05 17:06  东郭仔  阅读(248)  评论(0)    收藏  举报