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

打开用户认证

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自带的用户认证系统需要创建几个表,因为事先必须得配置好数据库,这里我们采用的是Oracle数据库,首先需要安装cx_Oracle模块,Django通过它访问Oracle数据库。

接着在Oracle中创建用户,并赋予相应权限:

SQL> create user dbrelease identified by *** default tablespace dbrelease;

SQL> grant resource,create session,unlimited tablespace to dbrelease;

然后在settings.py设置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

[Django实战] 第3篇 - 用户认证(初始配置)的更多相关文章

  1. [Django实战] 第5篇 - 用户认证(修改密码)

    上一篇我们实现了用户认证系统的登录模块,这一篇实现修改密码模块. 同样地,我们首先得给修改密码创建表单(forms.py): class ChangepwdForm(forms.Form): oldp ...

  2. [Django实战] 第4篇 - 用户认证(用户登录)

    今天来实现用户登录模块 首先,我们创建一个表单(forms.py): from django import forms from django.contrib.auth.models import U ...

  3. python框架Django实战商城项目之用户模块创建

    创建用户APP 整个项目会存在多个应用,需要存放在一个单独的文件包了,所以新建一个apps目录,管理所有子应用. 在apps包目录下穿件users应用 python ../../manage.py s ...

  4. Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  5. Django之auth模块(用户认证)登陆组件

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  6. 第十五篇 用户认证auth

    用户认证auth 阅读目录(Content) 用户认证 auth模块 1 .authenticate() 2 .login(HttpRequest, user) 3 .logout(request) ...

  7. 「Django」rest_framework学习系列-用户认证

    用户认证:1.项目下utils文件写auth.py文件 from rest_framework import exceptions from api import models from rest_f ...

  8. [Django实战] 第8篇 - 分页列表

    当用户登录成功后,首先看到的是他自己之前提交的任务列表,本篇将实现该页面. 视图(views.py)里定义如下: from django.core.paginator import Paginator ...

  9. [Django实战] 第9篇 - 表单、视图、模型、模板的交互

    本章通过实现一个用户提交任务请求的页面,讲述表单.视图.模型.模板间的交互. 首先,我们需要定义一个表单(forms.py) class CreatetaskForm(forms.Form): cre ...

随机推荐

  1. [每日一题] OCP1z0-047 :2013-08-18 禁用启用约束――主键与外键 ..................................61

    正确答案:C 根据题意,测试结果如下: 1.创建表emp,并且设emp_no字段为主键,设mgr_no字段为外键. gyj@MYDB> create table emp 2 (emp_no nu ...

  2. Ext布局

    Ext主要包括11种标准布局方式:Auto(自动布局).CheckboxGroup(复选框组布局).Fit(自适应布局).Column(列布局).Accordion(折叠布局).Table(表格布局) ...

  3. javascript this关键字

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Oracle运维服务的四根救命稻草

    企业信息化系统建设按生命周期可分为IT规划阶段.IT建设阶段和IT运维阶段,其中,IT运维阶段的时间最长,IT运维管理关乎着IT运维的质量.成本和速度,更关乎着IT系统的安全.连续和可用.大数据云计算 ...

  5. ANCS协议翻译

    综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖, ...

  6. sql 事务和回滚

    (1) set ANSI_NULLS ON --见图1 set QUOTED_IDENTIFIER ON go ALTER proc [dbo].[procname] as begin begin t ...

  7. [Math]Sqrt(x)

    Total Accepted: 75767 Total Submissions: 314003 Difficulty: Medium Implement int sqrt(int x). Comput ...

  8. W - stl 的 优先队列 Ⅲ

    Description In a speech contest, when a contestant finishes his speech, the judges will then grade h ...

  9. c++ iostream 相关使用

    索引: C++的iostream标准库介绍+使用详解(转) iostream格式化输出 c++ 字符串流 sstream(常用于格式转换) 关于#include <iomanip>中iom ...

  10. [转载]vs2010中臃肿的ipch和sdf文件

    使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量, ...