为了测试 Flask 安装,请在编辑器中将以下代码输入 Hello.py:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello World"
if __name__ == "__main__":
app.run()
必须在项目中导入Flask模块。
Flask类的一个对象是我们的WSGI应用程序。
Flask构造函数使用当前模块(__name __)的名称作为参数。
Flask类的route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。
app.route(rule, options)
rule 参数表示与该函数的URL绑定。
options 是要转发给基础Rule对象的参数列表。
在上面的示例中,"/ " URL与hello_world()函数绑定。
因此,当在浏览器中打开web服务器的主页时,将呈现该函数的输出。
最后,Flask类的run()方法在本地开发服务器上运行应用程序。
app.run(host, port, debug, options)
所有参数都是可选的
序号 | 参数与描述 |
---|---|
1 |
host
要监听的主机名。 默认为127.0.0.1(localhost)。设置为“0.0.0.0”以使服务器在外部可用 |
2 |
port
默认值为5000 |
3 |
debug
默认为false。 如果设置为true,则提供调试信息 |
4 |
options
要转发到底层的Werkzeug服务器。 |
上面给出的Python脚本是从Python shell执行的。
python Hello.py
Python shell中的消息通知您:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
在浏览器中打开上述URL(localhost:5000)。将显示“Hello World”消息。
Traceback (most recent call last):
File “C:/learn/python/xuexi/web/demoflask/app.py”, line 27, in
app.run();
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesflaskapp.py”, line 938, in run
cli.show_server_banner(self.env, self.debug, self.name, False)
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesflaskcli.py”, line 629, in show_server_banner
click.echo(message)
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesclickutils.py”, line 217, in echo
file = _default_text_stdout()
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesclick_compat.py”, line 621, in func
rv = wrapper_func()
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesclick_compat.py”, line 385, in get_text_stdout
rv = _get_windows_console_stream(sys.stdout, encoding, errors)
File “C:UserszhangAppDataLocalProgramsPythonPython36libsite-packagesclick_winconsole.py”, line 261, in _get_windows_console_stream
func = _stream_factories.get(f.fileno())
io.UnsupportedOperation: fileno
只要不用idle执行就不会出错了,不影响后续使用。改用cmd下Python执行或者pycharm等运行都能成功。
通过调用run()方法启动Flask应用程序。但是,当应用程序正在开发中时,应该为代码中的每个更改手动重新启动它。为避免这种不便,请启用调试支持。
如果代码更改,服务器将自行重新加载。它还将提供一个有用的调试器来跟踪应用程序中的错误。
在运行或将调试参数传递给run()方法之前,通过将application对象的debug属性设置为True来启用Debug模式。
app.debug = True app.run() app.run(debug = True)
最新教程请前往 Flask 中文教程 进行学习!
Flask类有一个redirect()函数。调用时,它返回一个响应对象,并将用户重定向到具有指定状态代码的另一个目标位置。 redirect()函...
FastCGI是在nginx,lighttpd和Cherokee等web服务器上的Flask应用程序的另一个部署选项。配置FastCGI首先,您需要创建FastCGI服务...
class RequestFactoryRequestFactory 与测试客户端共享相同的 API。 但是,RequestFactory 不能像浏览器那样运行,而是...
代码覆盖度表示有多少源代码被测试了。它表明了代码的哪些部分被测试用例覆盖,哪些没有。这是测试应用很重要的部分,所以强烈推...
到目前为止,本文档的重点是缓存您自己的数据。但是另一种类型的缓存也与Web开发相关:由“下游”缓存执行的缓存。这些系统甚至...
模型继承在 Django 中与普通类继承在 Python 中的工作方式几乎完全相同,但也仍应遵循本页开头的内容。这意味着其基类应该继承自...
JMenu类表示从菜单栏部署的下拉菜单组件。类声明以下是javax.swing.JMenu类的声明public class JMenu extends JMenuItemimplemen...