Django框架首页和登录页分离操作示例


Posted in Python onMay 28, 2019

本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:

1.登录模板login.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>用户登录</title>
</head>
<body>
  <form method="post">
    <p>用户名:<input type="text" name="username"></p>
    <p>密码:<input type="password" name="pwd"></p>
    <p><input type="submit" value="提交"></p>
    <hr>
  </form>
  <p> {{ result }}</p>
</body>
</html>

2.URL设置

Django框架首页和登录页分离操作示例

url(r'^login/', "hello.views.login")

表示浏览器访问login,就指向hello应用下views文件下login方法

3.在login方法下响应login模板和完成登录功能

def login(request):
  msg = {'result': ''}
  if request.method == 'POST':
    getUserName = request.POST.get('username')
    getPwd = request.POST.get('pwd')
    # 实例化UserLogin类
    loginObj = UserLogin(getUserName,getPwd)
    if loginObj.isLogin():
      myReponse = HttpResponse("<script>self.location='/index'</script>")
      myReponse.set_cookie('userlogin_username',getUserName,3600)
      return myReponse
    else:
      msg['result'] = '用户名或密码错误'
  myReponse = render_to_response("login.html", msg)
  return myReponse

其中我们使用了UserLogin类,并用此类中的方法完成了用户是否已经登录的验证。

UserClass.py:

# coding:utf-8
class UserLogin:
  userName = ''
  pwd = ''
  # 构造方法
  def __init__(self,username,pwd):
    self.userName = username
    self.pwd = pwd
  # 登录验证方法
  def isLogin(self):
    if self.userName == 'jack' and self.pwd == '123':
      return True
    else:
      return False

在views.py中使用之前必须要引入:

from UserClass import UserLogin

表示从UserClass中导入UserLogin。

4.在login方法中,登录成功就跳转到了首页,首页显示登录用户名

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>首页</title>
</head>
<body>
  <h2>这是首页,当前登录用户是:{{ username }}</h2>
  <p><a href="##" rel="external nofollow" >安装退出</a></p>
</body>
</html>
def hi(request):
  msg = {'username':'游客'}
  if request.COOKIES.get('userlogin_username') != None :
    msg['username'] = request.COOKIES.get('userlogin_username')
  myReponse = render_to_response("index.html",msg)
  return myReponse

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python实现的一只从百度开始不断搜索的小爬虫
Aug 13 Python
python九九乘法表的实例
Sep 26 Python
Python3 replace()函数使用方法
Mar 19 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
解决pycharm下pyuic工具使用的问题
Apr 08 Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 Python
Python datetime 如何处理时区信息
Sep 02 Python
python如何实现DES加密
Sep 21 Python
利用python做数据拟合详情
Nov 17 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 Python
Django框架封装外部函数示例
May 28 #Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 #Python
python利用多种方式来统计词频(单词个数)
May 27 #Python
numpy中的ndarray方法和属性详解
May 27 #Python
numpy.linspace函数具体使用详解
May 27 #Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 #Python
Django框架设置cookies与获取cookies操作详解
May 27 #Python
You might like
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
js数组的操作详解
2013/03/27 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Django数据库表反向生成实例解析
2018/02/06 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
python使用建议技巧分享(三)
2020/08/18 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
eBay加拿大站:eBay.ca
2019/06/20 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
JAVA程序员面试题
2012/10/03 面试题
地理科学专业毕业生求职信
2013/10/15 职场文书
班组长岗位职责范本
2014/01/05 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
2015年学校团委工作总结
2015/05/26 职场文书