清理笔记本后Django登录出现unable to open database file错误求助
解决Django无法打开SQLite数据库文件的问题
1. 确认数据库文件状态
打开项目根目录下的settings.py,定位到DATABASES配置段,查看NAME字段对应的数据库文件路径:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', # 这就是数据库文件路径 } }
按照该路径检查db.sqlite3文件是否存在——如果文件缺失,说明确实是误删导致的问题。
2. 无备份时重建数据库
如果没有数据库备份,执行以下步骤重建空数据库:
- 打开命令行,切换到项目根目录(包含
manage.py的文件夹) - 依次运行命令:
这会自动生成新的python manage.py makemigrations python manage.py migratedb.sqlite3文件,并创建Django所需的基础数据表。
3. 创建新的管理员账号
新数据库没有任何用户数据,需要重新创建超级用户才能登录admin后台:
python manage.py createsuperuser
按照提示输入用户名、邮箱和密码即可。
4. 有备份时恢复数据
如果之前有数据库备份:
- 若备份的是
db.sqlite3文件,直接将其复制到settings.py指定的路径下,覆盖新生成的文件 - 若备份的是
dumpdata导出的JSON文件,运行命令恢复数据:python manage.py loaddata 你的备份文件名.json
注意事项
- 清理电脑文件时,避免误删项目目录下的
db.sqlite3、迁移文件等核心资源 - 定期备份数据库:可以直接复制
db.sqlite3文件到安全位置,或用python manage.py dumpdata > backup.json导出数据备份
内容的提问来源于stack exchange,提问作者IEyeTeaU
相关产品推荐
相关产品推荐

