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中用get()方法获取字典键值的教程
May 21 Python
Python打印斐波拉契数列实例
Jul 07 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
Python常用特殊方法实例总结
Mar 22 Python
python图像和办公文档处理总结
May 28 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
如何在django中运行scrapy框架
Apr 22 Python
appium+python自动化配置(adk、jdk、node.js)
Nov 17 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 字符串操作入门教程
2006/12/06 PHP
php生成随机密码的几种方法
2011/01/17 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
js对象的复制继承实例
2015/01/10 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
js实现分割上传大文件
2016/03/09 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
Python实现的简单计算器功能详解
2018/08/25 Python
python删除某个目录文件夹的方法
2020/05/26 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
担保书范文
2015/01/20 职场文书
闪闪的红星观后感
2015/06/08 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Mysql中常用的join连接方式
2022/05/11 MySQL