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在Windows8下获取本机ip地址的方法
Mar 14 Python
进一步了解Python中的XML 工具
Apr 13 Python
python中zip和unzip数据的方法
May 27 Python
Python下Fabric的简单部署方法
Jul 14 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
定制FileField中的上传文件名称实例
Aug 23 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
使用Python项目生成所有依赖包的清单方式
Jul 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
中国的第一台收音机
2021/03/01 无线电
晶体管来复再生式二管收音机
2021/03/02 无线电
php数组的一些常见操作汇总
2011/07/17 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
php DES加密算法实例分析
2019/09/18 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
javascript字符串拼接的效率问题
2010/12/25 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
Python ljust rjust center输出
2008/09/06 Python
python通过floor函数舍弃小数位的方法
2015/03/17 Python
python PIL模块与随机生成中文验证码
2016/02/27 Python
Python类属性的延迟计算
2016/10/22 Python
Python中的集合介绍
2019/01/28 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
旅游专业职业生涯规划范文
2014/01/13 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
实习协议书
2015/01/27 职场文书
邀请函样本
2015/02/02 职场文书