2012-11-03 2 views
8

Wie kann ich meine Datenbanken in SQlite für Django sehen.Python sqlite Verwendung im Terminal -django

Ich folge dem django tutorial auf Ubuntu.

Jetzt funktioniert es gut außer. Nach dem Ausführen

python manage.py sql polls 

dann

python manage.py syncdb 

So dann dachte ich, dass ich die daabase und Tabellen überprüfen würde, aber das ist, wo das Problem ist:

sqlite> .databases 
seq name    file              
--- --------------- ---------------------------------------------------------- 
0 main                  
1 temp  

Es gibt keine mysite Datenbank. Wie kann ich die Datenbank sehen?

Antwort

12

Ihre mysite Datenbank wird in der Wurzel Ihres Projekts (oberste Verzeichnis Ihrer django Projekt) im Dateisystem selbst, wenn dies ist, wie Sie Ihre settings.py wie folgt aussieht: -

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'mysite',      # Or path to database file if using sqlite3. 
     'USER': '',      # Not used with sqlite3. 
     'PASSWORD': '',     # Not used with sqlite3. 
     'HOST': '',      # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
    } 
} 

Wenn Sie aktiviert Ihr Django-Administrator, und schreiben Sie die entsprechenden admin.py-Dateien für Ihre Umfragen App, sollten Sie in der Lage sein, Ihre Umfragedaten in django admin hinzuzufügen, zu bearbeiten, zu löschen oder anzusehen.

Sie können natürlich Ihre mysite Datenbank in django Projekt root (oberste Ordner) und zeigen Sie die Daten in es mit so etwas wie http://sqlitebrowser.sourceforge.net/

In Kommandozeile in Ihrem ubuntu Terminal laden, wenn Sie Ihre syncdb tun tun richtig, sollten Sie etwas ähnliches wie diese zu sehen sein: -

calvin$ ./manage.py syncdb 
Creating tables ... 
Creating table auth_permission 
Creating table auth_group_permissions 
Creating table auth_group 
Creating table auth_user_user_permissions 
Creating table auth_user_groups 
Creating table auth_user 
Creating table django_content_type 
Creating table django_session 
Creating table django_site 

You just installed Django's auth system, which means you don't have any superusers defined. 
Would you like to create one now? (yes/no): yes 
Username (leave blank to use 'calvin'): calvin 
E-mail address: [email protected] 
Password: 
Password (again): 
Superuser created successfully. 
Installing custom SQL ... 
Installing indexes ... 
Installed 0 object(s) from 0 fixture(s) 

Sie erwähnten Sie bereits Ihre ./manage.py syncdb korrekt ausgeführt, so dass Sie Ihre sQLite-Datenbank Lage, den Zugang von sqlite mysite Ausführung sein soll, wie folgt aus: -

calvin$ sqlite3 mysite 
SQLite version 3.7.14.1 2012-10-04 19:37:12 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> 

Und der .tables Befehl in der SQLite-Shell geben Ihnen: -

sqlite> .tables 
auth_group     auth_user_user_permissions 
auth_group_permissions  django_content_type  
auth_permission    django_session    
auth_user     django_site    
auth_user_groups   
sqlite> 
+1

Vielen Dank, das ist super. – sayth

+1

willkommen. Ich bin froh, dass diese Lösung geholfen hat. –

5

Ich habe verwendet Option 'dbshell', wenn diese bereits synchronisiert:

python manage.py dbshell

SQLite-Version 3.8.2 2013-12-06 14:53:30 Geben Sie ".help" für Anweisungen ein Geben Sie SQL-Anweisungen ein, die mit einem ";"

sqlite> .databases