• cookie实现用户登录验证


    cookie实现用户登录验证

    1,

    INSTALLED_APPS中注册app03

    2,在主程序中新建映射关系到app3的url中
    1 from django.conf.urls import url,include#引入include模块
    2 from django.contrib import admin
    3 
    4 urlpatterns = [
    5     url(r'^admin/', admin.site.urls),
    6     url(r'^a/', include("app1.urls")),
    7     url(r'^b/', include("app2.urls")),
    8     url(r'^c/', include("app3.urls")),
    9 ]

    3.视图函数

    user_info = {
        'asd': {'pwd': "123123"},
        'qwe': {'pwd': "666123"},
    }
    
    
    def login(request):
        if request.method == "GET":
            return render(request, 'test3login.html')  # 用户请求方式为get时,返回test3login.html信息
        if request.method == "POST":  # 如果用户为post请求时,获取用户数据
            u = request.POST.get('username')
            p = request.POST.get('pwd')
            dic = user_info.get(u)
    
            if not dic:
                return render(request, 'test3login.html')
            if dic['pwd'] == p:
                res = redirect('/c/test3/')
                res.set_cookie('username111')
                # res.set_cookie('username111',u,max_age=10)
                # import datetime
                # current_date = datetime.datetime.utcnow()
                # current_date = current_date + datetime.timedelta(seconds=5)
                # res.set_cookie('username111',u,expires=current_date)
                res.set_cookie('username111', u)
                res.set_cookie('user_type', "f", httponly=True)
                return res
            else:
                return render(request, 'test3login.html')
    
    
    def index(reqeust):
        # 获取当前已经登录的用户
        v = reqeust.COOKIES.get('username111')
        
        return render(reqeust,'index.html',{'current_user': v})

     4,test3login.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <form method="post" action="/c/test2/">
     9     <input type="text" name="username" placeholder="用户名">
    10     <input type="password" name="pwd" placeholder="密码">
    11     <input type="submit">
    12 </form>
    13 </body>
    14 </html>

    5,index.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 </head>
     7 <body>
     8 <h1>欢迎登录:{{ current_user }}</h1>
     9 </body>
    10 </html>
  • 相关阅读:
    网格视图
    使用box-shadow 属性用来可以创建纸质样式卡片:
    css 按钮动画
    vue父组件向自定义组件传递参数过程
    vue中如何使用 v-model 实现双向数据绑定?
    vue中是如何实现响应键盘回车事件
    vue中如何实现 样式绑定?
    webpack require.Context功能作用
    Personal tips for success
    my blog frist
  • 原文地址:https://www.cnblogs.com/cerofang/p/8401672.html
Copyright © 2020-2023  润新知