2011-09-11 14 views
5

Sto facendo il file settings.py nel tutorial di django e sono confuso cosa ho inserito nel campo NAME. Voglio usare SQLite, quindi la mia comprensione è che non ho bisogno di creare nulla e il database verrà creato automaticamente? In tal caso, dove verrà creato e come sarà chiamato?Dove viene creato automaticamente il database SQLite da django?

ho provato a fare funzionare syncdb manage.py e ottenuto: "django.core.exceptions.ImproperlyConfigured: Si prega di compilare il nome del database nel modulo impostazioni prima di usare la base di dati."

Così sto indovinando che dovrei compilare il nome del file, ma questo non è quello che ho capito le istruzioni riportate di seguito:

https://docs.djangoproject.com/en/1.3/intro/tutorial01/

NOME - Il nome del database. Se stai usando SQLite, il database sarà un file sul tuo computer; in tal caso, NAME dovrebbe essere il percorso assoluto completo, incluso il nome file, di quel file. Se il file non esiste, verrà creato automaticamente quando si sincronizza il database per la prima volta (vedere sotto).

risposta

5

Bene, come indicato nella documentazione, verrà creato il file di database SQLite3 nel percorso file configurato su NAME. Django non indovina ma usa il percorso del file specificato qui.

Solo se si utilizza qualcosa di diverso da SQLite, NAME sarà il nome del database effettivo sul server del database.

+1

Ho provato ad aggiungere un percorso del nome 'NAME': '/home/Python/tutorial/mysite/sqlite3.db', e quando ho eseguito manage.py mi ha detto un errore: sqlite3.OperationalError: impossibile aprire il file di database –

+2

ok il mio percorso era sbagliato. Per tutti coloro che affrontano questo problema, in LINUX la cartella principale è/home/usernameonlinux, cioè:/home/USERNAMEonLINUX/Python ... " –

+0

potresti anche fare percorsi relativi, NAME = './mysite.sqlite' – djblue2009

1

Creare un file .db o installare sqlite sul computer per creare un file di database e puntarlo su settings.py sotto NAME, ad esempio, ho "/ home/nomeutente/progetto/chatdb" su Linux. la sua 'C: /homes/user/mysite/sqlite3.db'

0

Secondo l'attuale docs (gennaio 2015):

NAME – The name of your database. If you’re using SQLite, the database will be a file on your computer; in that case, NAME should be the full absolute path, including filename, of that file. The default value, os.path.join(BASE_DIR, 'db.sqlite3'), will store the file in your project directory.

come scritto, vi consiglio come Nameos.path.join(BASE_DIR, 'db.sqlite3') Naturalmente, si dispone. per definire BASE_DIR

Problemi correlati