安装flask后运行仍不成功

我明明安装了flask相关模块,为什么运行后还是出现这个东西,怎么解决呢,想请教一下。

img

这是个环境配置问题。你可以暂时将最后一行改成:
app.run(debug=True)

其实如果仅仅是学习,就一直用debug模式也没影响的。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7451370
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:解决flask部署到服务器,外网访问不了的疑惑。
  • 除此之外, 这篇博客: 万文爆肝╭❤~零基础学Flask框架,速速收藏不然就不见了中的 在视图函数中定义模型类 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    
    app = Flask(__name__)
    
    #设置连接数据库的URL
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/Flask_test'
    
    #设置每次请求结束后会自动提交数据库中的改动
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
    
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
    #查询时会显示原始SQL语句
    app.config['SQLALCHEMY_ECHO'] = True
    db = SQLAlchemy(app)
    
    class Role(db.Model):
        # 定义表名
        __tablename__ = 'roles'
        # 定义列对象
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(64), unique=True)
        us = db.relationship('User', backref='role')
    
        #repr()方法显示一个可读字符串
        def __repr__(self):
            return 'Role:%s'% self.name
    
    class User(db.Model):
        __tablename__ = 'users'
        id = db.Column(db.Integer, primary_key=True)
        name = db.Column(db.String(64), unique=True, index=True)
        email = db.Column(db.String(64),unique=True)
        pswd = db.Column(db.String(64))
        role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    
        def __repr__(self):
            return 'User:%s'%self.name
    if __name__ == '__main__':
        db.drop_all()
        db.create_all()
        ro1 = Role(name='admin')
        ro2 = Role(name='user')
        db.session.add_all([ro1,ro2])
        db.session.commit()
        us1 = User(name='wang',email='wang@163.com',pswd='123456',role_id=ro1.id)
        us2 = User(name='zhang',email='zhang@189.com',pswd='201512',role_id=ro2.id)
        us3 = User(name='chen',email='chen@126.com',pswd='987654',role_id=ro2.id)
        us4 = User(name='zhou',email='zhou@163.com',pswd='456789',role_id=ro1.id)
        db.session.add_all([us1,us2,us3,us4])
        db.session.commit()
        app.run(debug=True)
    
  • 您还可以看一下 黄勇老师的2022版-Flask零基础到项目实战-学完可就业课程中的 01-Flask介绍与软件安装小节, 巩固相关知识点

问题点: 警告提示(这个模式用于开发环境调试,部署线上需要使用WSGI替代)
分析原因: 这个提示的原因是flask需要使用WSGI启动服务,那就是用WSGI
解决办法:

from flask import Flask
from gevent import pywsgi

app = Flask(__name__)


@app.route("/", methods=['get'])
def hello_world():
    return "hello"


if __name__ == '__main__':
    server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
    server.serve_forever()

代码运行后, 在浏览器输入 地址 http://127.0.0.1:5000/
可以看到返回内容 ‘hello’ 即运行成功了.