2012-11-03 48 views
8

Làm cách nào tôi có thể xem cơ sở dữ liệu của mình trong SQlite cho Django.sử dụng python sqlite trong terminal -django

Tôi đang theo dõi django tutorial trên ubuntu.

Hiện tại, nó hoạt động tốt ngoại trừ. Sau khi chạy

python manage.py sql polls 

sau đó

python manage.py syncdb 

Vì vậy, sau đó tôi nghĩ tôi sẽ kiểm tra daabase và bảng nhưng đây là nơi vấn đề là:

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

Không có cơ sở dữ liệu mysite. Tôi có thể xem cơ sở dữ liệu bằng cách nào?

Trả lời

12

cơ sở dữ liệu mysite của bạn sẽ nằm trong hệ thống tập tin riêng của mình trong thư mục gốc của dự án của bạn (trên cùng thư mục nhất của dự án django của bạn), nếu đây là cách settings.py bạn trông như thế: -

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. 
    } 
} 

Nếu bạn đã kích hoạt quản trị django của bạn và viết các tệp admin.py thích hợp cho ứng dụng thăm dò ý kiến ​​của bạn, bạn sẽ có thể thêm, chỉnh sửa, xóa hoặc xem dữ liệu thăm dò ý kiến ​​của mình trong quản trị django.

Bạn có thể dĩ nhiên tải lên cơ sở dữ liệu mysite của bạn trong thư mục gốc dự án django của bạn (thư mục trên cùng) và xem các dữ liệu trong đó sử dụng một cái gì đó giống như http://sqlitebrowser.sourceforge.net/

Trong dòng lệnh trong terminal ubuntu của bạn, nếu bạn đã làm syncdb của bạn một cách chính xác, bạn nên nhìn thấy một cái gì đó tương tự như sau: -

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) 

bạn nói bạn đã chạy ./manage.py syncdb của bạn một cách chính xác, vì vậy bạn sẽ có quyền truy cập cơ sở dữ liệu có thể sqlite của bạn bằng cách thực hiện sqlite mysite, như thế này: -

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> 

Và lệnh .tables trong vỏ sqlite của bạn sẽ cung cấp cho bạn: -

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

Cảm ơn bạn, điều đó thật tuyệt vời. – sayth

+1

chào mừng. vui mừng giải pháp này đã giúp. –

5

Tôi đã sử dụng tùy chọn 'dbshell' nếu điều này đã được đồng bộ hóa: Phiên bản

python manage.py dbshell

SQLite 3.8.2 2013-12-06 14:53:30 Nhập ".help" để được hướng dẫn Nhập câu lệnh SQL được chấm dứt bằng dấu ";"

sqlite> .databases

Các vấn đề liên quan