zoukankan      html  css  js  c++  java
  • [Django实战] 第3篇

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


    打开用户认证

    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


  • 相关阅读:
    HIVE调优之JVM重用
    元宇宙到底有多可怕
    关于c++、go、nodejs、python的计算性能测试,结果令人惊讶
    浏览器配套
    oracle 11gR2 离线静默自动安装
    kubernetes 污点与容忍
    Docker中centos7 安装 MySQL
    [Php] Yii2重载\yii\web\UploadedFile::getInstancesByName()以扩大使用范围
    php屏蔽Notice错误
    上传一个.prettierrc文件
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3310496.html
Copyright © 2011-2022 走看看