本人第一次使用flask_sqlalchemy,遇到了一点问题,如下使用的python版本为3.6,使用conda作为包管理器,并且已经成功安装了flask_sqlalchemy等相关依赖包.项目简单目录如下:app.pydb/models/__init__.pytodo.pyroutes/__init__.pytodo.pystatic/templates/app.py文件内容如下:#app.pyfromflaskimport(Flask,)fromflask_sqlalchemyimportSQLAlchemyimportosfromutilsimportrandom_strapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='sqlite:////'+os.path.join(app.root_path,'db','data.sqlite')app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=Falseapp.secret_key=random_str()db=SQLAlchemy(app)#省略了一些无关代码models/todo.py文件如下#models/todo.pyimporttimefromappimportdbclassTodo(db.Model):id=db.Column(db.Integer,primary_key=True)title=db.Column(db.String(20))completed=db.Column(db.Boolean,default=False)ct=db.Column(db.Integer,default=int(time.time()))def__init__(self,form):self.title=form.get('title','')self.completed=Falseself.ct=int(time.time())操作如下由于我使用的是conda,我在终端先激活环境,然后打开flaskshell:#我的conda环境叫flask$sourceactivateflask(flask)$flaskshell显示如下:Python3.6.8|Anaconda,Inc.|(default,Dec292018,19:04:46)[GCC4.2.1CompatibleClang4.0.1(tags/RELEASE_401/final)]ondarwinApp:app[production]Instance:xxx/instance>>>然后我在flaskshell执行如下命令:>>>fromappimportdb>>>db.create_all()问题如下:此时查看文件目录发现在models/下面存在data.sqlite文件,但是该文件里面没有任何内容,显示大小为0byte,以及我使用数据库管理软件查看发现里面没有任何表任何数据,同时如果我继续执行db.drop_all无法删除该数据库文件.请问这种情况如何解决,我谷歌了一下没有找到答案,望能有前辈指点,不胜感激.
相关分类