云应用开发类企业案例Flask、3.Flask的HTTP方法与模板3.Flask的HTTP方法与模板.docxVIP

  • 4
  • 0
  • 约2.47千字
  • 约 9页
  • 2021-08-18 发布于北京
  • 举报

云应用开发类企业案例Flask、3.Flask的HTTP方法与模板3.Flask的HTTP方法与模板.docx

PAGE2 / NUMPAGES9 Flask的HTTP方法与模板 Flask的HTTP方法与模板 摘 要:本章节主要对Flask的HTTP方法与模板进行详细讲解。 关键词:Flask;HTPP方法;模板; 1. Flask的HTTP方法 Http协议是万维网中数据通信的基础。在该协议中定义了从指定URL检索数据的不同方法。 下表总结了不同的http方法: 序号 方法与描述 1 GET 以未加密的形式将数据发送到服务器。最常见的方法。 2 HEAD 和GET方法相同,但没有响应体。 3 POST 用于将HTML表单数据发送到服务器。POST方法接收的数据不由服务器缓存。 4 PUT 用上传的内容替换目标资源的所有当前表示。 5 DELETE 删除由URL给出的目标资源的所有当前表示。 默认情况下,Flask路由响应GET请求。但是,可以通过为route()装饰器提供方法参数来更改此首选项。 为了演示在URL路由中使用POST方法,首先让我们创建一个HTML表单,并使用POST方法将表单数据发送到URL。 将以下脚本另存为login.html 现在在Python shell中输入以下脚本: 开发服务器开始运行后,在浏览器中打开login.html,在文本字段中输入name,然后单击提交。 表单数据将POST到表单标签的action子句中的URL。 http://localhost/login映射到login()函数。由于服务器通过POST方法接收数据,因此通过以下步骤获得从表单数据获得的“nm”参数的值: user = request.form[nm] 它作为变量部分传递给/ success URL。浏览器在窗口中显示welcome消息。 在login.html中将方法参数更改为GET,然后在浏览器中再次打开它。服务器上接收的数据是通过GET方法获得的。通过以下的步骤获得nm参数的值: User = request.args.get(‘nm’) 这里,args是包含表单参数对及其对应值对的列表的字典对象。与nm参数对应的值将像之前一样传递到/ success URL。 2. Flask模板 可以以HTML的形式返回绑定到某个URL的函数的输出。例如,在以下脚本中,hello()函数将使用标签呈现Hello World。 但是,从Python代码生成HTML内容很麻烦,尤其是在需要放置变量数据和Python语言元素(如条件或循环)时。这需要经常从HTML中转义。 这是可以利用Flask所基于的Jinja2模板引擎的地方。而不是从函数返回硬编码HTML,可以通过render_template()函数呈现HTML文件。 Flask将尝试在templates文件夹中找到HTML文件,该文件存在于此脚本所在的文件夹中。 Application folder Hello.py templates hello.html 术语‘web templating system(web模板系统)’指的是设计一个HTML脚本,其中可以动态插入变量数据。web模板系统包括模板引擎,某种数据源和模板处理器。 Flask使用jinga2模板引擎。Web模板包含用于变量和表达式(在这些情况下为Python表达式)的HTML语法散布占位符,这些是在呈现模板时替换的值。 以下代码在templates文件夹中另存为hello.html 。 接下来,从Python shell运行以下脚本: 当开发服务器开始运行时,打开浏览器并输入URL - http://localhost:5000/hello/mvl URL的变量部分插入{{name}}占位符。 Jinja2模板引擎使用以下分隔符从HTML转义。 {% ... %}用于语句 {{ ... }}用于表达式可以打印到模板输出 {# ... #}用于未包含在模板输出中的注释 # ... ##用于行语句 在下面的示例中,演示了在模板中使用条件语句。hello()函数的URL规则接受整数参数。它被传递到hello.html模板。其中,比较接收的数字(marks)的值(大于或小于50),因此有条件地呈现HTML。 Python脚本如下: hello.html的HTML模板脚本如下: 请注意,条件语句if-else和endif包含在分隔符{%..%}中。 运行Python脚本并访问URL http://localhost/hello/60,然后访问 http://localhost/hello/30,以查看HTML的输出是否有条件地更改。 Python循环结构也可以在模板中使用。在以下脚本中,当在浏览器中打开URL http://localhost:5000/result时,result()函数会将

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档