sqlite3.OperationalError:无法打开数据库文件

时间:2012-03-06 11:57:09

标签: python django sqlite

我是Django的新手。使用它时出现以下错误 我还没有解决它。
谁能告诉我需要做什么?

sqlite3.OperationalError: unable to open database file

5 个答案:

答案 0 :(得分:1)

错误说明了一切。你有自己的sqlite数据库文件吗?它被正确引用了吗?您需要创建/更正您的sqlite DB文件,以便您的框架可以正确地找到并加载它!

答案 1 :(得分:1)

我也是初学者,也有类似的问题。 运行python manage.py syncdb时将为您创建.db文件。在终端窗口中,确保您与目录结构中的manage.py文件位于同一文件夹中。从这个位置,我能够成功创建必要的表。最初设置项目时,已经创建了settings.py文件。

答案 2 :(得分:1)

似乎python manage.py syncdb将创建数据库文件,但需要已经存在的目录。

答案 3 :(得分:0)

在“ manage.py ”所在的文件夹中设置文件“ settings.py ”..

settings.py 中,更改以下设置:

DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = '[your_database_name]'             # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
你很高兴你去...... !!

注意您的数据库文件将存储在项目文件夹中。

答案 4 :(得分:0)

我有时也遇到类似的问题。 错误:var inputs = document.querySelectorAll('[data-input]'); var myFunction = function(event) { console.log('Clicked'); }; for (var i = 0; i < inputs.length; i++) { // I put this console.log here to see if all of the inputs pass through this for loop to get the event listener and they do console.log(inputs[i]); inputs[i].addEventListener('click', myFunction); } ,但我的settings.py指向一个postgres数据库。只是一个错误,我已经移动了以前使用sqlite的项目目录。新的(移动的)使用了postgres,但是我的uwsgi服务器仍然指向旧的项目目录。

如果在我的情况下,您正在使用多个服务器使用nginx和uwsgi,则最好检查两个配置文件。