SQLite 3 Database with Django
我被困在关于显示SQLite表的Django文档教程中。
"如果您感兴趣,请运行数据库的命令行客户端并键入 dt(PostgreSQL),SHOW TABLES;(MySQL)或.schema(SQLite)以显示Django创建的表。"
我创建了一个名为mysite的项目。 地点:
在
我打开命令提示符并导航到
我的
1 2 3 4 5 6 | DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join('BASE_DIR' , 'db.sqlite3'), } } |
我也无法定义BASE_DIR。 我不知道
有人可以帮我找出来吗?
.schema是一个在sqlite3命令行界面内运行的命令,用于获取该数据库中的表列表。
如果您还没有安装它,可以在这里下载sqlite3命令行界面并安装它:
https://www.sqlite.org/download.html
安装sqlite3后,您可以:
-
将目录更改为包含sqlite3数据库文件的文件夹
cd C: Python34 Scripts mysite
-
使用sqlite3命令行界面打开数据库文件
sqlite3 db.sqlite3
-
通过在sqlite3命令行界面提示符下键入.schema来获取表列表
.schema
您没有"为您的数据库运行命令行客户端",您只需导航到该目录。命令行客户端是"sqlite3",尽管您可能没有在Windows上安装它。
您不需要定义BASE_DIR,它已在设置文件中定义得更高,但您确实需要将其称为变量,而不是字符串:
1 | 'NAME': os.path.join(BASE_DIR , 'db.sqlite3'), |
1 2 3 4 5 6 | DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR , 'db.sqlite3'), } } |
您可能必须更改数据库的settings.py文件。
将
这将在项目目录中创建db.sqlite3文件。它解决了我的问题。希望这可以帮助。
BASE_DIR是变量而不是字符串,添加您需要的import os和BASE_DIR case
1 2 3 4 5 6 7 8 9 | import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR , 'db.sqlite3'), } } |