使用flask时代码无报错自动结束,无法保持连接,访问不了url。

本文介绍了一个在使用Flask框架时遇到的问题:带有test前缀的函数会被Python自动执行,导致服务无法正常运行。通过更改函数名,成功解决了这一问题。
作者:cyl
时间:2021.11.3

一、错误描述

在学习使用python轻量化web服务时,了解到flask库。但在执行一个入门级代码时出现问题:

from flask import Flask #导入flask库

app = Flask(__name__) #创建flask实例


#使用app.route修饰词来定义一个url,意思是当访问此url时可以自动调用修饰符下面的函数(我个人当前的理解,不一定对)
@app.route("/a")
def testflask():
    print("hello world")
    return 'Hello World!'


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)#启动端口,执行app.run就可以启动服务了。默认Flask只监听虚拟机的本地127.0.0.1这个地址,端口为5000。在改用参数0.0.0.0时可以监听所有端口。

按照道理来讲,执行后运行的正确结果是:
在这里插入图片描述
是一个保持连接状态的这么个情况。

然而我的却是:
在这里插入图片描述
在这里插入图片描述

虽然正确执行但是却自动结束执行了。

二、错误原因

我出现该问题并不是因为python版本错误或者是flask版本错误。而是因为python会自动将test开头的函数当做测试执行。其实看上图返回的信息也能够看到。(看来命名不能瞎搞,python诸多约束还是很好用的)
在这里插入图片描述

三、错误解决

更改函数名称
在这里插入图片描述

完美执行

虽然错误出现的原因跟我文章起的题目不太一样。将就看那一下吧。

如果对您有帮助,帮忙点个赞吧

在Windows上使用Flask启动Cel在Windows上使用Flask启动Celery时,可能会遇到一些报错。以下是一些常见的解决方法: ery时,可能会遇到一些报错。以下是一些常见的解决方法: 1. 确保已正确安装Celery和Flask-Celery扩展。可以使用以下命令进行安装: ```shell pip install celery pip install Flask-Celery ```1. 确保已正确安装Celery和Flask-Celery扩展。可以使用以下命令进行安装: ```shell pip install celery pip install Flask-Celery ``` 2. 确保已正确配置Celery。在Flask应用程序的主文件中,需要进行Celery的配置,例如: ```python from flask import Flask from celery import Celery app 2. 确保已正确配置Celery。在Flask应用程序的主文件中,需要进行Celery的配置,例如: ```python = Flask(__name__) from flask import Flask app.config['from celery import CeleryCELERY_B app = FlaskROKER_URL'] = '(__name__) app.config['redis://localhostCELERY_BROKER_URL'] = 'redis://localhost:6379/0' app.config['CELERY:6379_RESULT_BACKEND'] =/0' 'app.configredis://['localhost:637CELERY_RESULT9/0_BACKEND'] =' celery 'redis://localhost:637 = Celery(app.name,9/0 broker=app.config' cel['CELeryERY_BRO = CeleryKER_URL']) (app.name,celery.conf broker=app.update(app.config.config['CELERY_BRO) ```KER_URL']) celery.conf.update(app.config) ``` 3. 确保已正确导入任务函数。在Flask应用程序中,需要导入任务函数并调用`delay()`方法来异步执行任务,例如: ```python from yourapp.tasks import send_password_reset_email @app.route('/reset_password') def reset 3. 确保已正确导入任务函数。在Flask应用程序中,需要导入任务函数并调用`delay()`方法来异步执行任务,例如: ```python _password(): # 调用from yourapp任务函数 .tasks import send send_password_password_reset_email_reset_email.delay(user) @app.route return 'Password('/reset_password') def reset reset email sent_password(): # 调用!' 任务函数 ``` send_password_reset_email.delay(user) return 'Password reset email sent 4. 确保已正确启动Celery worker。在命令行中,使用以下命令启动Celery worker: ```shell celery -A yourapp.tasks worker!' ``` --loglevel=info ``` 4. 确保已正确启动Celery worker。在命令行中,使用以下命令启动Celery worker: ```shell celery -A yourapp.tasks worker --loglevel=info ``` 如果仍然遇到报错,请提供具体的报错信息,以便更好地帮助您解决问题。 如果仍然遇到报错,请提供具体的报错信息,以便更好地帮助您解决问题。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值