前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >day114-Flask启动&Response内容&Request内容&模板语言

day114-Flask启动&Response内容&Request内容&模板语言

原创
作者头像
少年包青菜
修改于 2020-04-20 10:03:35
修改于 2020-04-20 10:03:35
53900
代码可运行
举报
文章被收录于专栏:Python 学习Python 学习
运行总次数:0
代码可运行

1.Flask启动(启动即运行)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask

# 指定一个 app
app = Flask(__name__)


@app.route('/')  # 指定路径
def hello_world():
    # 返回一个字符串 
    return 'Hello World '


if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

2.Flask的基础response

2.1 return 一个字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask
    
@app.route('/')  # 指定路径
def hello_world():
    # 返回一个字符串 
    return 'Hello World '
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527) 

2.2 render_template(),返回一个网页

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, render_template

app = Flask(__name__)
    
@app.route('/login', methods=['GET', 'POST'])  # 指定 methods,只有固定的请求可以访问
def login():
    if request.method == 'POST':
        # 用户提交的表单数据
        user_info = request.form
        print(user_info)

    return render_template('login.html')
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

2.3 redirect(),进行一个重定向

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, redirect

app = Flask(__name__)
    
@app.route('/redirect')
def red():
    # 自动跳转到 login
    return redirect('/login')
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

2.4 sonify(),返回一个json串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, jsonify

app = Flask(__name__)
    
@app.route('/json')
def json_test():
    # 返回一个 json 类型数据串
    return jsonify({'name': 'leon', 'age': 28})
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

2.5 send_file(),返回一个文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, send_file

app = Flask(__name__)
    
@app.route('/file')
def file():
    # 文件可以是视频文件,GIF都可以
    return send_file('1.png')
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

3.request的基本内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask

app = Flask(__name__)
    
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        # 用户提交的表单数据
        user_info = request.form
        print(user_info)

    return render_template('login.html')
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import request

request.method 				# 请求方式
request.form 				# 用户提交的 form 表单数据
request.args 				# URL中的所有数据 ?name=xx&age=xx
request.json 				# 存在 json 数据串
request.data 				# 当Content-Type无法被解析时,存放原始数据
request.url					# 完整的请求地址
request.path 				# url  path
request.host 				# 主机 地址
request.host_url 			# 将主机地址转换为httpurl

4.如同Django,JInja2支持模板渲染数据

4.1视图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask

app = Flask(__name__)
    
@app.route('/for')
def for_test():
    student_info = {
        'class_1': {'name': 'Leon', 'age': 38, 'gender': '男'},
        'class_2': {'name': 'Luis', 'age': 73, 'gender': '女'},
        'class_3': {'name': 'Brown', 'age': 84, 'gender': '男'},
        'class_4': {'name': 'White', 'age': 26, 'gender': '不详'},
    }
    return render_template('for_loop.html', student_info=student_info)
    

if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=9527)

4.2HTML中,{% for %}、{% if %}、{{ xxx }}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<thead>
<tr>
    <th style="padding: 0 30px">班级</th>
    <th>姓名</th>
    <th>年纪</th>
    <th>性别</th>
</tr>
</thead>
<tbody style="border: black solid 1px">

{% for class,student in student_info.items() %}
    <tr>
        <td>{{ class }}</td>
        <td>{{ student.name }}</td>
        <td>{{ student.age }}</td>
        {% if student.gender == '不详' %}
            <td>性别不详</td>
        {% elif student.gender == '其他' %}
            <td>没有性别</td>
        {% else %}
            <td>{{ student.gender }}</td>
        {% endif %}
    </tr>
{% endfor %}

</tbody>
</table>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
这 几个 IDEA,调试的骚操作,用了都说爽!
循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。
搜云库技术团队
2022/04/08
4080
这 几个 IDEA,调试的骚操作,用了都说爽!
IDEA 调试起来太费劲?你需要了解这几招!
各位好啊,我是会编程的蜗牛,我们在使用IDEA开发java项目时,经常需要用到IDEA的调试功能,不过平时我们用的调试方法可能过于简单了,其实IDEA还给我们提供了非常强大的调试功能,下面让我来看一看,相信看完一定会有所收获的。
会编程的蜗牛
2022/10/09
3780
IDEA 调试起来太费劲?你需要了解这几招!
最好的IDEA debug长文?看完我佛了
最近写了几篇IntelliJ IDEA系列的文章,反响蛮好。我想了下,因为并非是分享什么破解方法、推荐插件、主题这种蛋炒饭式哗众取宠的文章,而是真实对工作有帮助,对提高工作效率很有用的内容。同学们对使用IDEA还是有不少痛点,或者姿势不够正确优雅,一直以来A哥坚持写些不随波逐流、有一定深度专栏文章,哪怕只是个工具IDEA而已。
YourBatman
2021/02/07
2.5K1
IDEA 调试技巧,比 Eclipse 强太多了!
公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。
java进阶架构师
2020/11/03
5770
IDEA 调试技巧,比 Eclipse  强太多了!
一步步使用Code::Blocks进行设置断点调试程序
一、调试之前要做的工作 首先,我们要确保Code::Blocks的配置正确,调试工作才能进行得更顺利 为此,我们需要生成调试符号。调试符号可以让调试器知道代码的哪一行正在执行,这样你就可以知道程序运行
Zoctopus
2018/06/04
1.6K0
idea 高级调试技巧
两年前写过一篇关于idea的高级用法,今天再来一篇关于调试方面的技巧讲解:  一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点的位置,
菩提树下的杨过
2018/01/18
1.1K0
idea 高级调试技巧
先学会这些调试技巧,再写代码,效率提高十倍。吐血整理!
作为程序大家都知道,写代码和调试的时间是差不多9:1,也就是说90% 的时间大家都在调试代码,怎么样才能最快的发现bug?
香菜聊游戏
2021/03/08
6630
VS Code 折腾记 - (7) 内置Debug功能深入【调教angular-cli 最新版】
很多小伙伴说用了打包工具(Webpack)之后,断点调试相当痛苦; 常规的方式无非是debugger,console.log()大法; 但是,vscode这货天生支持debug功能,不用白不用,今天我就说说怎么调教angular-cli;
CRPER
2018/08/28
1.1K0
VS Code 折腾记 - (7) 内置Debug功能深入【调教angular-cli 最新版】
IDEA 的 5 大调试技巧,你都掌握了吗?
来源 | JAVA日知录 在项目开发的时候我发现很多小伙伴能非常熟练的使用 IDEA 编写代码,但是对于IDEA调试的技巧掌握的不是很好,只会F7、F8、F9等这些基本调试功能。 而像一些复杂的调试场景就无从下手,如:在for循环中调试某个特定值;多线程、Reactor调试;修改变量的运行值等。 下面我们就来分场景介绍一下IDEA的调试技巧,看完掌握后调试bug的效率一定大大提升 1. 条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点的位置,右
程序猿DD
2023/04/04
1.6K0
IDEA 的 5 大调试技巧,你都掌握了吗?
[- Flutter 技能篇 -] debug 看程序启动
相信自己,你90%的错误都可以通过debug自己解决。如果不是,那就尽快让自己成为90%的错误都可以通过debug解决的人。
张风捷特烈
2020/04/30
7890
[- Flutter 技能篇 -] debug 看程序启动
IDEA小技巧:Debug条件断点
今天DD给大家分享一个IDEA调试过程中的一个小技巧。 先来说说场景,你有没有碰到类似的情况,一个循环结构里,中间某一个情况可能会出错。比如下面的代码结果中,可能执行到第27次的时候,会出现问题。 for(int i = 0; i < 100; i++) {     // 业务逻辑     System.out.println(i); } 那么这个时候,你会怎么调试的呢?是不是像下面这样加个断点 然后狂点绿色小箭头,到将来出错的那一次? 其实IDEA中有个功能,可以给断点增加条件,这样就不用那么麻烦了。
程序猿DD
2022/04/06
8270
IDEA小技巧:Debug条件断点
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
猫头虎
2024/05/24
3K0
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
Python新手之pycharm调试指南
当然,在程序运行报错的时候,也可以在可能出现错误的地方(一般在报错信息的上下几行),打印一下相应的变量信息。
吾非同
2020/10/26
6720
Python新手之pycharm调试指南
我是如何用IDEA调试BUG的?
右击断点旁边的小红点(断点),弹出面板,在Condition这里填入暂停条件,这样调试时,当程序满足条件时就会稳稳地停在student= "小明"的位置。
程序员小明
2020/03/31
8700
我是如何用IDEA调试BUG的?
关于debug你可能还不知道的技巧,建议所有人都看一下
debug主要用来追踪代码的运行流程,从而分析定位异常发生的位置,以及在运行过程中参数的变化。也可以用debug模式来跟踪代码的运行流程去学习三方框架的源码。
一条coding
2021/08/12
8750
关于debug你可能还不知道的技巧,建议所有人都看一下
软件测试|Pycharm运行与调试
Pycharm作为集成开发环境,除了可以编写脚本,还可以运行和调试自己的代码,下面就为大家介绍一下pycharm运行和调试代码的功能如何使用。
霍格沃兹测试开发Muller老师
2023/01/06
1.4K0
在VS中调试LINQ(Lambda)
Linq调试有3种方法,准确来说是2种,因为LinqPad算是复制代码段到外部了。。
过千帆
2021/04/08
5.1K0
Visual Studio 调试系列3 断点
断点是开发人员的工具箱中最重要的调试技术之一。 若要暂停调试程序执行所需的位置设置断点。 例如,你可能想要查看代码变量的状态或查看调用堆栈的某些断点。
张传宁IT讲堂
2019/09/17
5.8K0
Visual Studio 调试系列3 断点
推荐阅读
相关推荐
这 几个 IDEA,调试的骚操作,用了都说爽!
更多 >
目录
  • 1.Flask启动(启动即运行)
  • 2.Flask的基础response
    • 2.1 return 一个字符串
    • 2.2 render_template(),返回一个网页
    • 2.3 redirect(),进行一个重定向
    • 2.4 sonify(),返回一个json串
    • 2.5 send_file(),返回一个文件
  • 3.request的基本内容
  • 4.如同Django,JInja2支持模板渲染数据
    • 4.1视图
    • 4.2HTML中,{% for %}、{% if %}、{{ xxx }}
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档