带有Django的SQLite 3数据库

bil*_*m25 3 python sqlite django

我停留在有关显示SQLite表的Django文档教程上。

“如果您有兴趣,请为数据库运行命令行客户端,然后键入\ dt(PostgreSQL),SHOW TABLES;(MySQL)或.schema(SQLite)以显示Django创建的表。”

我创建了一个名为mysite的项目。地点 :C:\Python34\Scripts\mysite

里面mysitemysite文件夹db.sqlite3manage.py

我打开命令提示符并导航到,C:\Python34\Scripts\mysite然后键入.schema,它返回“。无法识别模式。”

我的settings.py数据库文件:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join('BASE_DIR' , 'db.sqlite3'),
    }
}
Run Code Online (Sandbox Code Playgroud)

我也无法定义BASE_DIR。我不知道该db.sqlite3文件。我不知道该文件是否为.db扩展名。

有人可以帮我找出来吗?

Joe*_*ung 6

.schema是一个命令,您可以在sqlite3命令行界面内部运行以获取该数据库中的表列表。

如果尚未安装,可以在此处下载sqlite3命令行界面并进行安装:https : //www.sqlite.org/download.html

安装sqlite3后,您可以:

  • 将目录更改为包含sqlite3数据库文件的文件夹

    cd C:\ Python34 \ Scripts \ mysite

  • 使用sqlite3命令行界面打开数据库文件

    sqlite3 db.sqlite3

  • 在sqlite3命令行界面提示符下键入.schema,获取表列表。

    .schema

  • 我认为为您安装的django只是sqlite3数据库驱动程序。因此,从技术上讲,您不需要sqlite3命令行界面即可运行具有sqlite3支持的Django项目。如果要在Django外部的数据库中四处浏览,则仅需要sqlite3命令行界面。因此,是的,如果您想使用“ .schema”命令查看其中的内容,则需要安装sqlite3命令行界面。:) (2认同)

Dan*_*man 5

您没有“为您的数据库运行命令行客户端”,您只是导航到该目录。命令行客户端是“sqlite3”,尽管您可能没有在 Windows 上安装它。

你并不需要定义BASE_DIR,它在设置文件已经定义上涨,但是你需要参考它作为一个变量,而不是字符串:

'NAME': os.path.join(BASE_DIR , 'db.sqlite3'),
Run Code Online (Sandbox Code Playgroud)