python - 由于某种原因没有模块名称烧瓶
问题描述
我正在构建我的第一个后端网站,但是现在当我尝试从 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)
解决方案
在构建烧瓶项目时,您可以使用关注点分离原则。遵循这一原则,您的所有文件/模块/包都组织良好并且可以重复使用。
创建烧瓶应用程序时使用此结构:
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
文件。
你注册你安装的包,比如烧瓶,SQLAlchemy__init__.py
已安装的软件包被写入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')
更新数据库的逻辑将在您的路线中。
推荐阅读
- reactjs - 如何在graphql的内联片段中获取数据?
- google-calendar-api - 使用 kloudless 从多个 calendarId 获取事件
- python - 如何在不删除 NaN 值的情况下删除 pandas 中的重复项
- java - 单核细胞增多症
带有 if 语句 - java - 如何确保 Firebase 仅从服务器获取数据
- sql - 在 postgresql 中将相同日期的值相加
- java - 通过 TCP/IP 套接字发送大数据
- php - php登录表单修剪未定义的索引错误
- port - 无法在digitalocean中打开端口
- amazon-web-services - 将 ec2-instance 的主机名指向 DR 区域的新 IP