Django用户认证模块初始配置与Oracle数据库连接指南

程一诺
程一诺
发布时间:2026-10-13| 4人浏览过
原创

本文详解Django用户认证模块的启用步骤,包括中间件与应用的配置。重点介绍如何在Django项目中连接Oracle数据库,涵盖cx_Oracle模块安装、数据库用户创建及权限授予,以及settings.py中的具体连接参数设置。通过实例验证连接并展示syncdb生成的默认认证表结构,帮助开发者快速完成基础环境搭建。

前文已介绍Django的相关理论,从本篇起正式进入实战环节,首先着手处理用户认证功能。

访问网站时,首要操作通常是登录,因此我们将以用户认证作为实战的切入点。

启用用户认证功能

Django内置了用户认证模块,我们的任务是在此基础上进行少量定制。默认情况下该模块已启用,可通过检查settings.py文件来确认状态,具体步骤如下:

1、检查 MIDDLEWARE_CLASSES 列表中是否包含 'django.contrib.sessions.middleware.SessionMiddleware'。

2、确认 INSTALLED_APPS 中已添加 'django.contrib.sessions'。

3、在 INSTALLED_APPS 中添加 'django.contrib.auth',随后执行 manage.py syncdb 命令以创建所需的数据库表。

4、确保 MIDDLEWARE_CLASSES 中位于 SessionMiddleware 之后的配置包含 '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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。