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

yipeiwu_com6年前Python基础

前两篇讲述了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设计】。

相关文章

Django 静态文件配置过程详解

静态文件配置 概述: 静态文件交由Web服务器处理,Django本身不处理静态文件。简单的处理逻辑如下(以nginx为例): URI请求 --> 按照Web服务器里面的配置规...

Flask的图形化管理界面搭建框架Flask-Admin的使用教程

Flask-Admin是Flask框架的一个扩展,用它能够快速创建Web管理界面,它实现了比如用户、文件的增删改查等常用的管理功能;如果对它的默认界面不喜欢,可以通过修改模板文件来定制;...

浅谈flask中的before_request与after_request

本文主要是对flask中的before_request与after_request用法做一个简单的分析,具体实例和介绍如下。 使用before_request 和 after_reque...

python中星号变量的几种特殊用法

一、什么是星号变量 最初,星号变量是用在函数的参数传递上的,在下面的实例中,单个星号代表这个位置接收任意多个非关键字参数,在函数的*b位置上将其转化成元组,而双星号代表这个位置接收任意...

python绘制多个曲线的折线图

python绘制多个曲线的折线图

这篇文章利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import nump...