flask 基础语法

coding=utf-8
from flask import Flask, render_template, request, redirect, url_for, abort, make_response

1.创建flask框架 域名为:http://127.0.0.1:5000

app=Flask(__name__)

2. 返回字符串 访问:http://127.0.0.1:5000/ 页面显示该字符串

@ app.route('/')
 def test():
    return 'hello'

3. 返回字符串 访问: http://127.0.0.1:5000/index1 页面显示该字符串

@ app.route('/index1')
def test1():
    return 'hello flask'

4. 将 name 以参数的形式传入方法,并返回,注意:与方法的参数相同

 访问: http://127.0.0.1:5000/index2/lisi     页面显示lisi
@ app.route('/index2/<name>')
def test2(name):
    return name
</name>

5. 返回页面 访问: http://127.0.0.1:5000/index3

@ app.route('/index3')
def test3():
    return render_template('login.html')

6. 返回页面,并给页面传参 访问:http://127.0.0.1:5000/index3/msg

@ app.route('/index3/msg')
def test3_1():
    # return render_template('login.html',&#x53C2;&#x6570;&#x540D;=&#x53C2;&#x6570;&#x503C;)
    return render_template('login.html',msg='&#x7528;&#x6237;&#x540D;&#x6216;&#x5BC6;&#x7801;&#x9519;&#x8BEF;')

html&#x4E2D;&#x7684;&#x4EE3;&#x7801;&#xFF1A;  {{ xxx }} &#x53D6;&#x503C;&#x8BED;&#x53E5;
  <!--接收单个参数-->
        {{msg}}

7. 返回页面,并给页面传递参数列表 访问:http://127.0.0.1:5000/index3/list

@ app.route('/index3/list')
def test3_2():
    # return render_template('login.html',&#x53C2;&#x6570;&#x540D;=&#x53C2;&#x6570;&#x503C;)
    return render_template('login.html',list=['a','b','c','d','e'])

html&#x4E2D;&#x7684;&#x4EE3;&#x7801;&#xFF1A;  {%   %}    &#x63A7;&#x5236;&#x8BED;&#x53E5;
 <!--接收参数列表-->
        {% for i in list %}
        {{i}}
        {% endfor %}

&#x6B64;&#x5916;&#xFF1A;&#x5728;HTML&#x4E2D;&#x8BBE;&#x7F6E;&#x53D8;&#x91CF;  {% set   &#x53D8;&#x91CF;&#x540D;= value %}
  <!--设置单个值,并输出-->
        {% set abc='hello' %}
        {{abc}}

        <!--设置列表并输出-->
        {% set li=[1,2,3,4,5,6] %}
        {% for num in li  %}
        {{ num }}
        {% endfor %}

8. 页面的form表单提交的地址为/index4

&#x63A5;&#x6536;&#x7528;post&#x65B9;&#x6CD5;&#x63D0;&#x4EA4;&#x7684;&#x6570;&#x636E;&#x7684;&#x65B9;&#x6CD5;,&#x6307;&#x5B9A;methods&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;get
request.form['name&#x503C;']
&#x901A;&#x8FC7;&#x6570;&#x636E;&#x7684;name&#x83B7;&#x53D6;&#x5BF9;&#x5E94;&#x7684;&#x503C;
@ app.route('/index4',methods=['GET','POST'])
def do_post():
    uname=request.form['username']
    pword=request.form['password']
    return '&#x6B22;&#x8FCE;&#xFF1A;'+uname+'\t'+pword

&#x8868;&#x5355;&#x4EE3;&#x7801;&#xFF1A;
<form action="/index4" method="post">
    UserName:<input type="text" name="username">
    PassWord:<input type="password" name="password">
    <input type="submit" value="&#x63D0;&#x4EA4;">
</form>

9. 接收get请求提交数据的方法

request.args['name&#x503C;']
&#x8BBF;&#x95EE;&#xFF1A;http://127.0.0.1:5000/index5?username=zhangsan
&#x901A;&#x8FC7;&#x53C2;&#x6570;&#x540D;&#xFF0C;&#x83B7;&#x53D6;&#x53C2;&#x6570;&#x503C;
@ app.route('/index5')
def do_get():
    uname=request.args['username']
    return '&#x6B22;&#x8FCE;'+uname+'&#x767B;&#x5F55;'

10 . 重定向

&#x8BBF;&#x95EE;&#xFF1A; http://127.0.0.1:5000/index6   &#x8DF3;&#x8F6C;&#x5230;&#xFF1A;http://127.0.0.1:5000/index3
&#x6CE8;&#x610F;&#xFF1A;url_for('&#x8DEF;&#x7531;&#x5BF9;&#x5E94;&#x7684;&#x65B9;&#x6CD5;&#x540D;')
@ app.route('/index6')
def re_url():
    return  redirect(url_for('test3'))

11. 返回状态码 访问: http://127.0.0.1:5000/index7 返回:500

@ app.route('/index7')
def code():
    abort(500)

12. 返回一个自定义响应 访问:http://127.0.0.1:5000/set

@ app.route('/set')
def set():
    response=make_response('&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x81EA;&#x5B9A;&#x4E49;&#x54CD;&#x5E94;')
    # &#x4FEE;&#x6539;&#x54CD;&#x5E94;&#x5934;
    response.headers['cookie']='abc'
    return response

服务启动

if __name__ == '__main__':
    # &#x8BBE;&#x7F6E;debug=1&#xFF0C;&#x4F7F;&#x7528;debug&#x8FD0;&#x884C;&#xFF0C;&#x5F53;&#x4EE3;&#x7801;&#x88AB;&#x4FEE;&#x6539;&#x65F6;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x518D;&#x91CD;&#x542F;&#x9879;&#x76EE;&#xFF0C;&#x4F1A;&#x81EA;&#x884C;&#x91CD;&#x542F;
    app.run(debug=1)

Original: https://blog.csdn.net/mamenqi_csdn/article/details/123926177
Author: 傲娇的小苹果
Title: flask 基础语法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/745876/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Pandas时间序列处理

    关于时间序列的处理方法: ① 生成一段时间范围 pd.date_range(start=None,end=None,periods=None,freq=’D’) start表示起始…

    Python 2023年8月8日
    041
  • gunicorn部署flask项目

    一、WSGI协议 web框架用来如何生成html代码,web服务器用于处理和响应HTTP请求。 web框架和web服务器之间的通信,需要一套双方都接受并能够采用的接口协议,由此出现…

    Python 2023年8月12日
    045
  • Opencv——图像添加椒盐噪声、高斯滤波去除噪声原理及手写Python代码实现

    一、噪声 我们将常会听到平滑(去噪),锐化(和平滑是相反的),那我们就会有疑惑?什么是噪声呢?图像噪声是指存在于图像数据中不必要的或多余的干扰信息,噪声的存在严重影响了图像的质量。…

    Python 2023年9月28日
    068
  • 会自动化就能拿20K?不,你这顶多算会点皮毛···

    前段时间公司要招2个自动化测试,同事面了几十个候选人, 发现了一个很奇怪的现象,面试的时候,如果问的是框架api、脚本编写这些问题,基本上个个都能对答如流,等问到实际项目的时候,类…

    Python 2023年8月30日
    048
  • Pytest 参数化

    在执行自动化测试用例时,自然少不了测试数据;同一条用例逻辑,如何使用不同数据驱动测试用例?这里列举以下两种参数化方式: 方式一:Pytest中装饰器@pytest.mark.par…

    Python 2023年9月9日
    034
  • Scrapy爬取豆瓣电影top250数据并保存mysql/json/csv

    文章目录 * – 1. 项目简介 – 2. 代码解析 – 3. 总结 帮一个大一的小朋友做作业,看了一下Scrapy,这里也记录一下吧,有需要的…

    Python 2023年10月1日
    045
  • 萌妹子Python入门指北(四)

    这个系列其实是想给非计算机专业的人一个python的入门指导,已经写了3篇,这篇拖了好久了。我开始觉得学编程真的很难,计算机有些方面的知识真是常人所不能理解的,仅仅靠这几篇文章肯定…

    Python 2023年5月25日
    073
  • Matplotlib全部基础可视化图形及实现代码(共11种图形)

    Matplotlib全部基础可视化图形及实现代码 开始先来一段网络抄袭的的Matplotlib介绍 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形…

    Python 2023年8月31日
    037
  • 深度网络架构的设计技巧(三)之ConvNeXt:打破Transformer垄断的纯CNN架构

    单位:FAIR (DenseNet共同一作,曾获CVPR2017 best paper),UC伯克利ArXiv:https://arxiv.org/abs/2201.03545Gi…

    Python 2023年9月28日
    067
  • python怎么处理通达信ctp接口数据?

    通达信ctp接口使用的socket数据处理又叫套接字,可以理解为是一个应用程序的地址,是实现网络通信的关键。我们可以通过IP找到一台主机,可以通过主机的端口找到该主机上的某个应用程…

    Python 2023年8月7日
    054
  • eclipse和sts安装lombok

    eclipse和sts安装lombok 说明 sts 是 eclipse集成springboot的开发环境 所以 sts 和 eclipse 安装 lombok 步骤基本一样 参考…

    Python 2023年10月8日
    043
  • Unity UI、图片(Sprite)的显示层级(遮挡关系)控制

    UI之间如何控制互相的遮挡关系: 一个方法是给每个UI都添加一个Canvas组件,选中 Override Sorting之后就可以通过调整Sort Order的数值来控制遮挡关系。…

    Python 2023年9月29日
    032
  • Pytest内置标签xfail的用法

    xfail可用于标记此用例可能会失败,当脚本失败时,测试报告也不会打印错误追踪,只是会显示xfail状态,xfail的主要作用是比如在进行测试提前时,当产品某功能尚未开发完成而进行…

    Python 2023年9月10日
    044
  • Python之Pandas连接详解

    一、关系型连接 连接的基本概念 把两张相关的表按照某一个或某一组键连接起来是一种常见操作,例如学生期末考试各个科目的成绩表按照姓名和班级连接成总的成绩表,又例如对企业员工的各类信息…

    Python 2023年8月7日
    037
  • fastgame文档

    Fastgame是我自己开发的游戏库,把自己的文档CV下: 一、Fastgame用前提示 fastgame支持的文件格式 图片: JPG PNG GIF(无动图) BMP SVG(…

    Python 2023年9月22日
    058
  • 【scrapy实战】获取我的博客信息

    需求 之前写过一个blog,是通过基本的bs4完成爬取的:传送门这样写动态爬虫的缺点包括:1.速度慢2.需要额外的解析3.要额外判断blink信息,没有容错机制 因此,我们考虑使用…

    Python 2023年10月1日
    027
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球