Python:无法使用烧瓶应用程序

时间:2020-05-07 10:37:49

标签: python flask web-applications localhost

我是Flask的初学者,我们在大学里运行了一个简单的Web应用程序,您在其中连接到本地主机,并获得了一个简单的Hello World文本。但是,当我在烧瓶应用程序加载以下代码后尝试运行该应用程序时:

* Serving Flask app "my_app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

然后我按CTRL + C退出,然后尝试使用命令

运行我的应用程序以连接到网页
curl localhost:5000/

,我收到错误消息:

curl : Prefix of  URI not recognised.
  At line:1 char:1
    + curl localhost:5000/
    + ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotImplemented: (:) [Invoke-WebRequest], NotSupportedException
    + FullyQualifiedErrorId : 
    WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

我尝试将命令更改为curl.exe localhost:500 /,但结果相同。我的网络应用程序代码如下:

from flask import Flask
app = Flask(__name__)

 @app.route('/')
 def hello_world():
     return 'Hello World!'
 @app.route('/<name>')
 def hello_name(name):
     return f'Hello {name}!\n'

 if __name__ == '__main__':
       app.run(host='0.0.0.0')

感谢您在指导我运行应用程序方面的帮助。预先谢谢你。

编辑:问题很简单,我将终止我的应用程序而不打开外壳连接到localhost。非常感谢您的回复

3 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,那就是您无法从服务器获取网站的响应。

这完全有道理。您正在运行您的应用程序,然后在按下“ CTRL + C”时将其停止。

然后,您尝试连接到已经停止的服务器。您需要使服务器保持运行状态(不要按“ CTRL + C”),然后使用网络浏览器并输入http://0.0.0.0:5000/,然后应该会看到“ hello world”。

或者,您可以在终端/命令提示符中打开一个单独的选项卡,然后使用curl命令。

答案 1 :(得分:1)

您自己说过:

然后我按CTRL + C退出

那是当您终止服务器时,因此它将不再存在,并且显然不接受任何传入连接。

您需要保持进程运行状态,直到您想终止它。因此,在不首先终止服务器的情况下转到另一个终端,然后您会看到curl设法检索了页面。

答案 2 :(得分:0)

您将终止该应用程序。而是按 CTRL + T 打开一个新标签页。