sql >> Databasteknik >  >> RDS >> Mysql

Ställer in Django för att använda MySQL

MySQL-stöd är enkelt att lägga till. I dina DATABASES ordbok, kommer du att ha en post så här:

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',
    }
}

Du har också möjlighet att använda MySQL alternativfiler , från och med Django 1.7. Du kan åstadkomma detta genom att ställa in dina DATABASES array som så:

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

Du måste också skapa /path/to/my.cnf fil med liknande inställningar från ovan

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

Med den här nya anslutningsmetoden i Django 1.7 är det viktigt att veta att beställningsanslutningarna är etablerade:

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

Med andra ord, om du ställer in namnet på databasen i OPTIONS, kommer detta att ha företräde framför NAME, vilket skulle åsidosätta allt i en MySQL-alternativfil.

Om du bara testar din applikation på din lokala dator kan du använda

python manage.py runserver

Lägger till ip:port argument tillåter andra maskiner än din egen att komma åt din utvecklingsapplikation. När du är redo att distribuera din applikation rekommenderar jag att du tar en titt på kapitlet om distribution Djangodjangobook

Mysql standardteckenuppsättning är ofta inte utf-8, se därför till att skapa din databas med denna sql:

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_bin

Om du använder Oracles MySQL-anslutning din ENGINE raden ska se ut så här:

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

Observera att du först måste installera mysql på ditt operativsystem.

brew install mysql (MacOS)

Dessutom har mysql-klientpaketet ändrats för python 3 (MySQL-Client fungerar bara för python 2)

pip3 install mysqlclient


  1. Självtillhandahållande av användarkonton i PostgreSQL via oprivilegierad anonym åtkomst

  2. SQL Server 2008 kan inte logga in med nyskapad användare

  3. SQLite Tutorial:Allt du behöver veta

  4. Hur validerar man kreditkortsnummer och identifierar dess typ med PL/SQL?