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中random模块用法实例分析
May 19 Python
python中的print()输出
Apr 12 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
Pandas透视表(pivot_table)详解
Jul 22 Python
Python学习笔记之For循环用法详解
Aug 14 Python
numpy求平均值的维度设定的例子
Aug 24 Python
python3 求约数的实例
Dec 05 Python
pytorch:实现简单的GAN示例(MNIST数据集)
Jan 10 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
OpenCV-Python模板匹配人眼的实例
Jun 08 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
jQuery插件 tabBox实现代码
2010/02/09 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
python多线程抓取天涯帖子内容示例
2014/04/03 Python
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
KTV门卫岗位职责
2014/10/09 职场文书
学生保证书
2015/01/16 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
写给同事的离职感言
2015/08/04 职场文书
python - asyncio异步编程
2021/04/06 Python