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求众数问题实例
Sep 26 Python
python超简单解决约瑟夫环问题
May 12 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
python的pip安装以及使用教程
Sep 18 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
Python编程flask使用页面模版的方法
Dec 28 Python
Python 实现数据结构中的的栈队列
May 16 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
python Pexpect模块的使用
Dec 25 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
Discuz板块横排显示图片的实现方法
2007/05/28 PHP
php Session存储到Redis的方法
2013/11/04 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
jquery获取节点名称
2015/04/26 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
详解React中setState回调函数
2018/06/14 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
python实现用户登录系统
2016/05/21 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python使用pymysql小技巧
2017/06/04 Python
python Pygame的具体使用讲解
2017/11/03 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
社区护士演讲稿
2014/08/27 职场文书
个人股份合作协议书
2014/10/24 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android