难以打开sql数据库

时间:2017-05-19 07:05:25

标签: python django sqlite

我想做的是指向我的django app中的相对路径。

  • 我必须提到test.py,forms.py和search.py​​都在同一目录中

我有2个.py文件,第一个是:

Test.py

import os
import sqlite3

docs= os.path.abspath('..').rsplit("\\",1)[0]
datab=(docs+ "\\BMS\\Database\\Database.db")
datab.encode('unicode-escape')
conn=sqlite3.connect(datab)

这个工作正常,而我在search.py​​中有完全相同的代码,在一个类中,我在forms.py中导入,这是 django 的一部分

search.py​​

import sqlite3
import os


class SearchBy(object):

    docs= os.path.abspath('..').rsplit("\\",1)[0]
    datab=(docs+ "\\BMS\\Database\\Database.db")
    datab.encode('unicode-escape')
    conn=sqlite3.connect(datab)

    def get_countries(self):
        do something

最后 forms.py

from django import forms
import sqlite3
from .search import SearchBy


class searchForm(forms.Form):

    search_class=SearchBy()
    lista_tari=get_countries()


    country=forms.ChoiceField(choices=lista_tari, widget=forms.Select(), initial=0,required=True)

我简直无法理解为什么会收到这个错误:

sqlite3.OperationalError: unable to open database file

在其他文件中,一切正常。

1 个答案:

答案 0 :(得分:0)

检查文件架构,当在python中包含.py文件时,包含文件中的路径按原样导入。 意思是如果它们不在同一个文件夹中,则路径在2

之间是不同的