Django                
            데이터베이스 설정
        
        
            
    수색…
MySQL / MariaDB
Django는 MySQL 5.5 이상을 지원합니다.
일부 패키지가 설치되어 있는지 확인하십시오.
$ sudo apt-get install mysql-server libmysqlclient-dev
$ sudo apt-get install python-dev python-pip              # for python 2
$ sudo apt-get install python3-dev python3-pip            # for python 3
 Python MySQL 드라이버 중 하나 ( mysqlclient 는 Django의 권장 선택 사항 임) : 
$ pip install mysqlclient    # python 2 and 3
$ pip install MySQL-python   # python 2
$ pip install pymysql        # python 2 and 3
Django는 데이터베이스 인코딩을 설정할 수 없지만 데이터베이스 레벨에서 구성해야합니다. my.cnf (또는
/etc/mysql/mariadb.conf/*.cnf)에서default-character-set을/etc/mysql/mariadb.conf/*.cnf인코딩을 설정하십시오.
   [mysql]
   #default-character-set = latin1    #default on some systems.
   #default-character-set = utf8mb4   #default on some systems.
   default-character-set = utf8
   ...
   [mysqld]
   #character-set-server  = utf8mb4
   #collation-server      = utf8mb4_general_ci
   character-set-server  = utf8
   collation-server      = utf8_general_ci
MySQL 또는 MariaDB 용 데이터베이스 구성
#myapp/settings/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your database is hosted on
        'PORT': '3306',
        #optional:
        'OPTIONS': {
            'charset' : 'utf8',
            'use_unicode' : True,
             'init_command': 'SET '
                'storage_engine=INNODB,'
                'character_set_connection=utf8,'
                'collation_connection=utf8_bin'
                #'sql_mode=STRICT_TRANS_TABLES,'    # see note below
                #'SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED',
        },
        'TEST_CHARSET': 'utf8',
        'TEST_COLLATION': 'utf8_general_ci',
    }
}
 Oracle의 MySQL 커넥터를 사용하는 경우 ENGINE 행은 다음과 같아야합니다. 
'ENGINE': 'mysql.connector.django',
데이터베이스를 만들 때 인코딩 및 데이터 정렬을 지정해야합니다.
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin
MySQL 5.7 이후와 새로 설치 한 MySQL 5.6에서 sql_mode 옵션의 기본값은 STRICT_TRANS_TABLES를 포함합니다. 이 옵션은 삽입시 데이터가 잘리는 경우 경고를 오류로 에스컬레이트합니다. Django는 STRICT_TRANS_TABLES 또는 STRICT_ALL_TABLES 중 하나 인 데이터 손실을 막기 위해 MySQL에 엄격 모드 를 활성화 할 것을 적극 권장합니다. /etc/my.cnf에 추가 할 수있게하려면
sql-mode = STRICT_TRANS_TABLES
PostgreSQL
일부 패키지가 설치되어 있는지 확인하십시오.
sudo apt-get install libpq-dev
pip install psycopg2
PostgreSQL의 데이터베이스 설정 :
#myapp/settings/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'myprojectDB',
        'USER': 'myprojectuser',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
 이전 버전에서는 별칭 django.db.backends.postgresql_psycopg2 를 사용할 수도 있습니다. 
Postresql을 사용할 때 몇 가지 추가 기능에 액세스 할 수 있습니다.
Modelfields :
ArrayField         # A field for storing lists of data. 
HStoreField        # A field for storing mappings of strings to strings. 
JSONField          # A field for storing JSON encoded data. 
IntegerRangeField  # Stores a range of integers 
BigIntegerRangeField # Stores a big range of integers 
FloatRangeField    # Stores a range of floating point values. 
DateTimeRangeField # Stores a range of timestamps
sqlite
sqlite는 Django의 기본값입니다. 일반적으로 느리기 때문에 프로덕션에서 사용해서는 안됩니다.
#myapp/settings/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'db/development.sqlite3',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    },
}
비품
 조명기는 데이터베이스의 초기 데이터입니다. 기존 데이터가 이미있는 경우 가장 간단한 방법은 dumpdata 명령을 사용하는 것입니다. 
 ./manage.py dumpdata > databasedump.json                # full database
 ./manage.py dumpdata myapp > databasedump.json          # only 1 app
 ./manage.py dumpdata myapp.mymodel > databasedump.json  # only 1 model (table)
이렇게하면 json 파일이 만들어집니다.이 파일은 다음을 사용하여 다시 가져올 수 있습니다.
./manage.py loaddata databasedump.json
 파일을 지정하지 않고 loadddata 를 사용할 때 Django는 앱의 fixtures 폴더 나 FIXTURE_DIRS 설정에 제공된 디렉토리 목록을 FIXTURE_DIRS 대신 내용을 사용합니다. 
/myapp
   /fixtures 
        myfixtures.json
        morefixtures.xml 
 가능한 파일 형식은 JSON, XML or YAML 
Fixtures JSON 예제 :
[
  {
    "model": "myapp.person",
    "pk": 1,
    "fields": {
      "first_name": "John",
      "last_name": "Lennon"
    }
  },
  {
    "model": "myapp.person",
    "pk": 2,
    "fields": {
      "first_name": "Paul",
      "last_name": "McCartney"
    }
  }
]
픽스처 YAML 예 :
- model: myapp.person
  pk: 1
  fields:
    first_name: John
    last_name: Lennon
- model: myapp.person
  pk: 2
  fields:
    first_name: Paul
    last_name: McCartney
픽스처 XML 예제 :
<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
    <object pk="1" model="myapp.person">
        <field type="CharField" name="first_name">John</field>
        <field type="CharField" name="last_name">Lennon</field>
    </object>
    <object pk="2" model="myapp.person">
        <field type="CharField" name="first_name">Paul</field>
        <field type="CharField" name="last_name">McCartney</field>
    </object>
</django-objects>
장고 카산드라 엔진
-  $ pip install django-cassandra-engine:$ pip install django-cassandra-engine
-  settings.py 파일의 INSTALLED_APPS 시작하기를 추가하십시오 : INSTALLED_APPS = ['django_cassandra_engine']
- Cange 데이터베이스 설정 Standart :
Standart
DATABASES = {
    'default': {
        'ENGINE': 'django_cassandra_engine',
        'NAME': 'db',
        'TEST_NAME': 'test_db',
        'HOST': 'db1.example.com,db2.example.com',
        'OPTIONS': {
            'replication': {
                'strategy_class': 'SimpleStrategy',
                'replication_factor': 1
            }
        }
    }
}
Cassandra는 새로운 사용자 cqlsh를 만듭니다.
DATABASES = {
'default': {
    'ENGINE': 'django_cassandra_engine',
    'NAME': 'db',
    'TEST_NAME': 'test_db',
    'USER_NAME'='cassandradb',
    'PASSWORD'= '123cassandra',
    'HOST': 'db1.example.com,db2.example.com',
    'OPTIONS': {
        'replication': {
            'strategy_class': 'SimpleStrategy',
            'replication_factor': 1
        }
    }
}
}