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实现图片变亮或者变暗的方法
Jun 01 Python
django启动uwsgi报错的解决方法
Apr 08 Python
python flask 如何修改默认端口号的方法步骤
Jul 12 Python
Django MEDIA的配置及用法详解
Jul 25 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
Python多线程threading创建及使用方法解析
Jun 17 Python
Python装饰器结合递归原理解析
Jul 02 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
python 如何做一个识别率百分百的OCR
May 29 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打开文件fopen函数的使用说明
2013/07/05 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
PDO::prepare讲解
2019/01/29 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
Node.js实现注册邮箱激活功能的方法示例
2018/03/23 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
Linux下使用python自动修改本机网关代码分享
2015/05/21 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
python最长回文串算法
2018/06/04 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
django settings.py 配置文件及介绍
2019/07/15 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
django和flask哪个值得研究学习
2020/07/31 Python
python解包用法详解
2021/02/17 Python
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
应届生求职自荐信范文
2014/04/07 职场文书
商场促销活动策划方案
2014/08/18 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android