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实现的Kmeans++算法实例
Apr 26 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
python编程实现归并排序
Apr 14 Python
从django的中间件直接返回请求的方法
May 30 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
python批量解压zip文件的方法
Aug 20 Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 Python
详解Python设计模式之策略模式
Jun 15 Python
如何使用Python调整图像大小
Sep 26 Python
如何基于python实现年会抽奖工具
Oct 20 Python
python实现按日期归档文件
Jan 30 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
Protoss建筑一览
2020/03/14 星际争霸
PHP+DBM的同学录程序(4)
2006/10/09 PHP
PHP生成带有雪花背景的验证码
2008/09/28 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
Vue如何实现组件的源码解析
2017/06/08 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
javascript实现留言板功能
2020/02/08 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
自己使用总结Python程序代码片段
2015/06/02 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
银行见习期自我鉴定
2014/01/29 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
创先争优活动个人总结
2015/03/04 职场文书
财务出纳岗位职责
2015/03/31 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python