51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1501|回复: 1
打印 上一主题 下一主题

Django实现登录验证功能

[复制链接]
  • TA的每日心情
    无聊
    2024-9-19 09:07
  • 签到天数: 11 天

    连续签到: 2 天

    [LV.3]测试连长

    跳转到指定楼层
    1#
    发表于 2019-1-29 15:07:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 八戒你干嘛 于 2019-1-29 15:08 编辑

    Django实现登录验证功能:
    Django对用户登录功能已经进行了封装,我们只需要简单地修改就可以了。




    视图:

    views.py
    1. # Create your views here.
    2. # -*- coding: utf-8 -*-
    3. from django.shortcuts import render,render_to_response
    4. from django.http import HttpResponseRedirect
    5. from django.contrib import auth
    6. from django.template import RequestContext
    7. from webserver.forms import UserForm,RegisterForm
    8. import time


    9. #登录验证
    10. def login(req):
    11.     nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    12.     if req.method == 'GET':
    13.         uf = UserForm()
    14.         return render_to_response('login.html', RequestContext(req, {'uf': uf,'nowtime': nowtime }))
    15.     else:
    16.         uf = UserForm(req.POST)
    17.         if uf.is_valid():
    18.             username = req.POST.get('username', '')
    19.             password = req.POST.get('password', '')
    20.             user = auth.authenticate(username = username,password = password)
    21.             if user is not None and user.is_active:
    22.                 auth.login(req,user)
    23.                 return render_to_response('index.html', RequestContext(req))
    24.             else:
    25.                 return render_to_response('login.html', RequestContext(req, {'uf': uf,'nowtime': nowtime, 'password_is_wrong': True}))
    26.         else:
    27.             return render_to_response('login.html', RequestContext(req, {'uf': uf,'nowtime': nowtime }))
    复制代码



    路由:

    urls.py

    1. from django.conf.urls import *
    2. from webserver import views

    3. urlpatterns = [
    4.     url(r'^login/[p=20, null, left]
    5. [/p][p=20, null, left][b]html[/b][b]页面[/b]
    6. login.html[/p][code]{% load staticfiles %}
    7. <link href="{% static "css/adstyle.css"%}" rel="stylesheet" type="text/css" />
    8. <html>
    9. <head>
    10.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    11.     <title>Login</title>
    12. </head>
    13. {% if password_is_wrong %}
    14.     <script type="text/javascript" src="{%static "js/jquery-1.11.0.min.js" %}"></script>
    15.     <script type="text/javascript" src="{%static "js/alert.js" %}"></script>
    16.     <link href="{%static "css/alert.css" %}" rel="stylesheet" type="text/css" />
    17.     <script type="text/javascript">
    18.         Alert.showMsg("错误!!用户名或密码错误!");
    19.         location.href="/webserver/login/"
    20.     </script>
    21. {% endif %}
    22. <body>
    23.     <div class="admin-ht" style="background: url(/static/images/lo.jpg);">
    24.         <div class="adminBord">
    25.             <h1>运维管理平台</h1>
    26.         <h4>{{ nowtime }}</h4>
    27.             <form method="post" enctype="multipart/form-data" >
    28.                 {% csrf_token %}
    29.                 {{uf.as_p}}
    30.                 <input type="submit" value="login" id="loging">
    31.             </form>
    32.         </div>
    33.     </div>
    34. </body>
    35. </html>
    复制代码



    效果:




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 17:45 , Processed in 0.060855 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表