我正在构建我的第一个后端网站,但是现在当我尝试从 shell 启动数据库时,我得到了这个:
<块引用>没有名为flask的模块
文件结构:
这些都在一个名为
的文件夹中5_judges.py __pycache__ backend.py dives.py static textcase.py
__init__.py backend.py dive.js documentation.txt templates
代码如下:
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']= 'sqlite:///posts.db'
db = SQLAlchemy(app)
答案 0 :(得分:0)
您可以在构建 Flask 项目时使用 关注点分离 的原则。遵循这一原则,您的所有文件/模块/包都井井有条且可重复使用。
在创建 Flask 应用程序时使用此结构:
project_folder
|---------- app.py
|---------- config.py
|---------- .env
|---------- requirements.txt
|---------- .flaskenv
|---------- app/
|------ routes.py
|------ models.py
|------ __init__.py
|------ forms.py
|------ templates/
|-------- home.html
|-------- base.html
|------ static/
|-------css/
|------- styles.css
|-------js/
|------- app.js
您的所有配置都转到 config.py
文件。
您在 __init__.py
中注册已安装的软件包,例如flask、SQLAlchemy
已安装的软件包将写入 requirements.txt
文件。
就您而言,您需要安装 flask
:
(venv)$ pip3 install flask
更新您的 requirements.txt
文件:
(venv)$ pip3 freeze > requirements.txt
在 _init_.py
中初始化您的烧瓶应用:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
import routes, models
您的所有路线都将在 routes.py
中:
from app import app
from flask import render_template
@app.route('/')
def home():
return render_template('home.html')
更新数据库的逻辑将在您的路由中。