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 相关文章推荐
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
对python文件读写的缓冲行为详解
Feb 13 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
Python 实现打印单词的菱形字符图案
Apr 12 Python
Python中的Cookie模块如何使用
Jun 04 Python
Python3合并两个有序数组代码实例
Aug 11 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 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 获取客户端的真实ip
2009/11/30 PHP
php中的观察者模式
2010/03/24 PHP
php正则表达式(regar expression)
2011/09/10 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
js电话号码验证方法
2015/09/28 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Django自定义分页效果
2017/06/27 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
Python之字典对象的几种创建方法
2020/09/30 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
高校教师个人总结
2015/02/10 职场文书
2015年药店工作总结
2015/04/20 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js