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 布尔操作实现代码
Mar 23 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
Apr 19 Python
浅谈python正则的常用方法 覆盖范围70%以上
Mar 14 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
PyQt5中QSpinBox计数器的实现
Jan 18 Python
利用python做表格数据处理
Apr 13 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 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中的float类型使用说明
2010/07/27 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
php并发加锁示例
2016/10/17 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
js中的cookie的读写操作示例详解
2014/04/17 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
python Django批量导入数据
2016/03/25 Python
Python排序算法实例代码
2017/08/10 Python
python实现单向链表详解
2018/02/08 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
django从后台返回html代码的实例
2020/03/11 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
采购主管工作职责
2013/12/12 职场文书
九年级科学教学反思
2014/01/29 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
技术员岗位职责范本
2015/04/11 职场文书
婚礼答谢词范文
2015/09/29 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL