1、登录页面
 

2、项目目录结构
 

3、需要修改四个文件
urls.py-------路径与函数之间的对应关系
views.py-------函数定义与逻辑处理
加入一个login.html文件
静态文件夹下面加入bootstrap、jquery等文件
 
4、urls.py修改

 from django.conf.urls import url
 from .views import *

 # 保存了路径与函数之间的对应关系
 urlpatterns = [
     # path('admin/', admin.site.urls),
     url(r'^test/$', test),
     url(r'^test01/$', test01),
     url(r'^zhangxiaoxue/$', zhangxiaoxue),
     url(r'^login/$', login),
 ]
5、view.py配置
 # views.py只是存放逻辑处理函数
 from django.contrib import admin
 from django.urls import path
 from django.conf.urls import url

 # 导入django自带的httpResponse模块,用他来帮我们做http协议的响应
 # 这样,我们只需关心处理用户请求的函数就可以了,而不需要关注协议本身所做的事情,
 # 要返回一个完整的html文件,就要用到render
 from django.shortcuts import HttpResponse,render,redirect

 def login(request):
     error_msg = ''
     userlist = []
     # 如果请求是post
     if request.method == 'POST':
         # 获取用户提交的数据,做是否登录成功的判断
         # email = request.POST.get('email', None)
         email = request.POST["email"]
         pwd = request.POST["pwd"]
         temp = {'email': email, 'pwd': pwd}
         userlist.append(temp)
         # pwd = request.POST.get('pwd', None)
         ':
             return redirect('http://www.baidu.com')
             # return HttpResponse('登录成功!!!')
         else:
             error_msg = "账号或密码错误!请重新登录!"
     # 如果是其他的请求
     return render(request, 'login.html', {'error': error_msg, 'data': userlist})
 
6、login.html文件【用了bootstrap所以要引入】

 <!DOCTYPE html>
 <html lang="zh-CN">
 <head>
     <meta charset="UTF-8">
     <meta http-equiv="x-ua-compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="/static/fontawesome/css/font-awesome.min.css">
     <script href="/static/jquery-3.3.1.js"></script>
     <title>mysite-登录页面</title>
     <style>
         body {
             background-color: #eee;
         }
     </style>
 </head>
 <body>

 <div class="container">
     <div class="row">
         <div class="col-md-4 col-md-offset-4" style="margin-top: 100px">
             <h1 class="text-center">请登录</h1>
             <form class="form-horizontal" action="/login/" method="post">
                 <div class="form-group">
                     <label for="inputEmail3" class="col-sm-2 control-label"></label>
                     <div class="input-group col-sm-8">
                          <span class="input-group-addon"><i class="fa fa-envelope-o fa-fw"></i></span>
                         <input type="email" name="email" class="form-control" id="inputEmail3" placeholder="Email">
                     </div>
                 </div>
                 <div class="form-group">
                     <label for="inputPassword3" class="col-sm-2 control-label"></label>
                     <div class="input-group col-sm-8">
                         <span class="input-group-addon"><i class="fa fa-key fa-fw"></i></span>
                         <input type="password" name="pwd" class="form-control" id="inputPassword3" placeholder="Password">
                     </div>
                 </div>
                 <div class="form-group">
                     <div class="input-group col-sm-offset-2 col-sm-8">
                         <div class="checkbox">
                             <label>
                                 <input type="checkbox"> 记住我
                             </label>
                         </div>
                     </div>
                 </div>
                 <div class="form-group">
                     <div class="input-group col-sm-offset-2 col-sm-8">
                         <button type="submit" class="btn btn-primary btn-block">登录</button>
                     </div>
                     <p class="text-danger text-center">{{ error }}</p>
                 </div>
 {#{% csrf_token %}是为了解决下面的问题#}
 {# CSRF verification failed. Request aborted. 这一个是 Django 自带的 CSRF 防范机制。CSRF 是什么?某度百科有言:“CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。”(可以看出,我们的 Django 框架,可是相当的严谨和方便。)#}
                 {% csrf_token %}
             </form>
             <h1>用户展示</h1>
                 <table border = '>
                     <thead >
                         <tr>用户名</tr>
                         <tr>密码</tr>
                     </thead>
                     <tbody >
                         {% for item in data %}
                         <tr>
                             <td>{{ item.email }}</td>
                             <td>{{ item.pwd }}</td>
                         </tr>
                         {% endfor %}
                     </tbody>

                 </table>

         </div>
     </div>
 </div>
 </body>
 </html>
 
7、static文件夹
【加入bootatrap、fontawesome、jquery、可以自定义css文件】
 

8、运行
python3 manage.py runserver
 
9、浏览器访问localhost:8000/login
 
 

Django入门-简单的登录的更多相关文章

  1. django入门 -- 简单流程

    django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...

  2. python利用django实现简单的登录和注册,并利用session实现了链接数据库

    利用session实现与数据库链接,登录模块(在views.py) def login(request): # return HttpResponseRedirect('/') # 判断是否post方 ...

  3. PHP爬虫入门--简单的登录抓取内容

    给同事写一个小工具,抓取月报表然后统计加工.第一反应是做一个爬虫把需要的表和图抓下来,这样就不用再自己去连数据库然后组织表格生成图片之类的. 以上为背景 PHP 写爬虫 说实话我也想用Python的, ...

  4. Django入门第一步:构建一个简单的Django项目

    Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将 ...

  5. python入门:模拟简单用户登录(自写)

    #!/usr/bin/env python # -*- coding: utf-8 -*- #模拟简单用户登录(自写) import getpass a = raw_input("Pleas ...

  6. Django入门与实践 17-26章总结

    Django入门与实践-第17章:保护视图 Django 有一个内置的视图装饰器 来避免它被未登录的用户访问: 现在如果用户没有登录,将被重定向到登录页面: 现在尝试登录,登录成功后,应用程序会跳转到 ...

  7. Django 入门案例开发

    Django是一个重量级的web开发框架,它提供了很多内部已开发好的插件供我们使用:这里不去描述 Django直接进入开发过程. Django入门案例分两部分:一.开发环境的配置:二.业务需求分析. ...

  8. python web框架Django入门

    Django 简介 背景及介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以 ...

  9. Django 入门

    Django 入门 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模型,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容 ...

随机推荐

  1. shell_sctipts: 删除mysql备份到最后7日

    目前,mysql的备份文件,经过一周左右清理,手动清理会比较费事,所以写了一个简单脚本来实现. 前提介绍: mysql备份文件放在/usr/bak/sql里面,sql文件的备份名称格式为: mysql ...

  2. sql编程中流程控制 IF ……THEN……ELSEIF……THEN………END IF

    写mysql存储过程应注意的几点: 1.声明变量(declare)时要注意字符集,用变量存储表字段时,表字段与变量的字符编码要一致. 2.mysql的字符合并不能用‘+’号,必须用concat函数. ...

  3. Linux命令详解-ftp服务器配置

    1.ftp服务器配置 1.ftp安装: rpm –qa | grep ftp 2.查看安装内容: rpm-ql |more 3.启动ftp服务: service vsftpd start 4.配置文件 ...

  4. [UE4]Visual Studio的相关插件安装:UE4.natvis和UnrealVS Extension

    转自:http://aigo.iteye.com/blog/2281182 UE4.natvis 官方文档: https://docs.unrealengine.com/latest/INT/Prog ...

  5. ElasticSearch 在3节点集群的启动

    ElasticSearch的启动分前台和后台启动 先介绍前台启动: 先在master节点上启动 可以看到已经启动了 同时在slave1.slave2节点上也启动 可以看到都已经启动了! 在浏览器分别打 ...

  6. 小朋友学C++(1)

    Hello World! 在学C++之前,最好先学习一下C语言 让我们先运行一段简单的代码,编译器可以使用 在线C++编译器 或 Xcode(苹果系统) 或Dev C++(Windows系统). #i ...

  7. JavaScript中的坑

    内容:关于JavaScript中的一些蛋疼的问题以及面试笔试中常见的一些坑爹套路总结 此部分内容持续总结完善中... 1.undefined和null的区别 null: Null类型,代表空值,代表一 ...

  8. 扯皮的cplex-感觉时间不对

    import ilog.cplex.CpxMult; import ilog.cplex.CpxNumExpr; import ilog.cplex.IloCplex; import ilog.con ...

  9. linux开发模式

    linux已被使用vim[文本编辑]+gcc[编译]+[gdb代码调试]开发模式 简单设置下开发环境,像设定vim的语法高亮,编辑c时代码自动缩进,tab缩进字符,显示行号等 编辑vinrc一般vin ...

  10. HTML5播放器 MediaElement.js 使用方法

    目前已经有很多html5播放器可以使用,使用html5播放器可以轻松的在页面中插入媒体视频,从而使我们的web页面变得更加丰富多彩,所以今 天向大家推荐一款非常优秀的html5播放器MediaElem ...