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中尾递归用法实例详解
Apr 28 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
python re模块findall()函数实例解析
Jan 19 Python
python取代netcat过程分析
Feb 10 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
pycharm快捷键汇总
Feb 14 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
python 算法题——快乐数的多种解法
May 27 Python
Python作用域和名称空间的详细介绍
Apr 13 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
一个程序下载的管理程序(四)
2006/10/09 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
小谈php正则提取图片地址
2014/03/27 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
layui的select联动实现代码
2019/09/28 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
python自动发送邮件脚本
2018/06/20 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python turtle 绘制太极图的实例
2019/12/18 Python
Python连接字符串过程详解
2020/01/06 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
怎样声明接口
2014/09/19 面试题
自动化系在校本科生求职信
2013/10/23 职场文书
会计电算化专业毕业生推荐信
2013/12/24 职场文书
档案保密承诺书
2014/06/03 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
运动会通讯稿200字
2015/07/20 职场文书
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers