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 异常处理总结
Oct 18 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
一文了解Python并发编程的工程实现方法
May 31 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
基于Python实现签到脚本过程解析
Oct 25 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
Python变量作用域LEGB用法解析
Feb 04 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
python 实现定时任务的四种方式
Apr 01 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 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使用curl发送json格式数据实例
2013/12/17 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
php 数据结构之链表队列
2017/10/17 PHP
JavaScript中的prototype和constructor简明总结
2014/04/05 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
python实现多线程网页下载器
2018/04/15 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
艺术用品:Arteza
2018/11/25 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
初中物理教学反思
2014/01/14 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
买卖协议书范本
2014/04/21 职场文书
读书活动总结范文
2014/04/26 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
不错的求职信范文
2014/07/20 职场文书
《灰雀》教学反思
2016/02/19 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android
MongoDB使用场景总结
2022/02/24 MongoDB