Django实战之用户认证(初始配置)


Posted in Python onJuly 16, 2018

前两篇讲述了Django的理论,从这篇开始,我们真正进入Django实战部分,今天先从用户认证开始。

当大家平时打开一个网站时,第一步一般做什么?我猜大部分是先登录吧,所以我们就从用户认证开始。

打开用户认证

Django本身已经提供了用户认证模块,所以我们要做的事很简单,就是在它的基础上添加一些定制化的东西。默认情况下,Django的用户认证模块是打开的,可以通过以下步骤确认用户模块是否打开(在settings.py文件里):

1、确保 MIDDLEWARE_CLASSES 中包含 'django.contrib.sessions.middleware.SessionMiddleware'。

2、确认 INSTALLED_APPS 中有 'django.contrib.sessions'

3、将 'django.contrib.auth' 放在你的 INSTALLED_APPS 设置中,然后运行 manage.py syncdb以创建对应的数据库表。

4、确认 SessionMiddleware 后面的 MIDDLEWARE_CLASSES 设置中包含 'django.contrib.auth.middleware.AuthenticationMiddleware'。

数据库配置

用户认证系统必然离不开数据库,因为用户信息需要保存在数据库里,Django自带的用户认证系统也不例外。在使用它之前,必须配置数据库,Django支持大部分的主流数据库,这里我采用的是Oracle数据库,首先需要安装cx_Oracle模块,Django必须通过它才能访问Oracle数据库。至于如何安装cx_Oracle模块,这里就不讲了,具体查看官方文档。

接着在Oracle中创建一个用户,我们Django项目创建的所有表都建在该用户下,因此需要相应的权限:

SQL> create user dbrelease identified by *** default tablespace dbrelease;
 
SQL> grant resource,create session,unlimited tablespace to dbrelease;

然后在settings.py中的Databases属性里设置django连接oracle:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.oracle', 
    'NAME': 'lxdbtest',           
    'USER': 'dbrelease',
    'PASSWORD': '***',
    'HOST': '192.168.1.16',           
    'PORT': '1521',           
  }
}

注意:上面的NAME是指Oracle的instance_name

好了,下面验证是否可以成功连接Oracle:

进入Django项目的主目录,运行python manage.py shell进入交互命令行,然后输入:

>>> from django.db import connection
>>> cursor = connection.cursor()

如果没有报错,说明已经配置成功。

最后执行syncdb语句,从以下输出中我们可以发现,用户认证系统默认在数据库里创建了以下表:

# python manage.py syncdb
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
Python使用htpasswd实现基本认证授权的例子
Jun 10 Python
python批量生成本地ip地址的方法
Mar 23 Python
在Python中通过threading模块定义和调用线程的方法
Jul 12 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
详解python破解zip文件密码的方法
Jan 13 Python
详解Python多线程下的list
Jul 03 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
python format 格式化输出方法
Jul 16 #Python
Python合并多个Excel数据的方法
Jul 16 #Python
详解django.contirb.auth-认证
Jul 16 #Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 #Python
django认证系统实现自定义权限管理的方法
Jul 16 #Python
Sanic框架路由用法实例分析
Jul 16 #Python
Sanic框架安装与简单入门示例
Jul 16 #Python
You might like
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
js控制div及网页相关属性的代码
2009/12/19 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
大一军训感言
2014/01/09 职场文书
市场营销专业自荐书
2014/06/10 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
老公婚前保证书
2015/02/28 职场文书
投标单位介绍信
2015/05/05 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书