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 03 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
用python处理MS Word的实例讲解
May 08 Python
python实现简易内存监控
Jun 21 Python
python绘制散点图并标记序号的方法
Dec 11 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
python Tkinter的图片刷新实例
Jun 14 Python
Python中关于浮点数的冷知识
Sep 22 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 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的大小写敏感问题整理
2011/12/29 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
Vue创建头部组件示例代码详解
2018/10/23 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
老生常谈Python序列化和反序列化
2017/06/28 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
Java如何格式化日期
2012/08/07 面试题
工程造价专业大专生求职信
2013/10/06 职场文书
现金会计岗位职责
2013/12/05 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
2014组织生活会方案
2014/05/19 职场文书
工地安全生产标语
2014/06/06 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
高中历史教学反思
2016/02/19 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python