51Testing软件测试论坛

标题: Django实现登录验证功能 [打印本页]

作者: 八戒你干嘛    时间: 2019-1-29 15:07
标题: Django实现登录验证功能
本帖最后由 八戒你干嘛 于 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>
复制代码



效果:

[attach]121439[/attach]


[attach]121440[/attach]




作者: Miss_love    时间: 2021-1-5 13:39
支持分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2