sql >> Databáze >  >> RDS >> Mysql

Nastavení Django na používání MySQL

Podpora MySQL je jednoduché přidat. Ve vašich DATABASES slovníku, budete mít záznam jako tento:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'DB_NAME',
        'USER': 'DB_USER',
        'PASSWORD': 'DB_PASSWORD',
        'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
        'PORT': '3306',
    }
}

Máte také možnost využít soubory možností MySQL , od Django 1.7. Můžete toho dosáhnout nastavením DATABASES pole takto:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}

Musíte také vytvořit /path/to/my.cnf soubor s podobným nastavením shora

[client]
database = DB_NAME
host = localhost
user = DB_USER
password = DB_PASSWORD
default-character-set = utf8

S touto novou metodou připojení v Django 1.7 je důležité vědět, že jsou navázána připojení k objednávce:

1. OPTIONS.
2. NAME, USER, PASSWORD, HOST, PORT
3. MySQL option files.

Jinými slovy, pokud nastavíte název databáze v OPTIONS, bude mít přednost před NAME, což by přepsalo cokoli v souboru voleb MySQL.

Pokud svou aplikaci teprve testujete na místním počítači, můžete použít

python manage.py runserver

Přidání ip:port argument umožňuje jiným strojům než vašemu přistupovat k vaší vývojové aplikaci. Jakmile budete připraveni nasadit svou aplikaci, doporučuji nahlédnout do kapitoly o Nasazení Django na djangobook

Výchozí znaková sada Mysql často není utf-8, proto se ujistěte, že jste vytvořili databázi pomocí tohoto sql:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin

Pokud používáte Konektor MySQL společnosti Oracle váš ENGINE řádek by měl vypadat takto:

'ENGINE': 'mysql.connector.django',

Všimněte si, že nejprve budete muset nainstalovat mysql na váš OS.

brew install mysql (MacOS)

Také se změnil klientský balíček mysql pro python 3 (MySQL-Client funguje pouze pro python 2)

pip3 install mysqlclient


  1. ZACHOVÁNÍ LOB

  2. Jak vybrat datum bez času v SQL

  3. Blok anonymního kódu PL/pgSQL

  4. Jak změnit názvy tabulek MySQL na serveru Linux tak, aby nerozlišovaly malá a velká písmena?