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的Django REST框架中的序列化及请求和返回
Apr 11 Python
python将unicode转为str的方法
Jun 21 Python
对numpy中布尔型数组的处理方法详解
Apr 17 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
python中字符串内置函数的用法总结
Sep 13 Python
python使用response.read()接收json数据的实例
Dec 19 Python
Django组件之cookie与session的使用方法
Jan 10 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
Python3创建Django项目的几种方法(3种)
Jun 03 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
基于python实现复制文件并重命名
Sep 16 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中过滤非法字符的具体实现
2013/10/29 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
php while循环控制的简单实例
2016/05/30 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
PHP实现的随机IP函数【国内IP段】
2016/07/20 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
Europcar比利时:租车
2019/08/26 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
农救科工作职责
2013/11/27 职场文书
应届毕业生求职信
2013/11/30 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
销售经理工作检讨书
2015/02/19 职场文书
涨价通知
2015/04/23 职场文书
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python