Django?保姆级地学习Python Web上手框架:Flask基础课程(二)

Django?保姆级地学习Python Web上手框架:Flask基础课程(二)

前言

这不,一年一度的寒假又来啦,又是一次拉开差距,提升自我的机会,这个寒假我打算专门攻击Python,全方位学习。首当其冲的就是Python Web了,为什么看好PyWeb,理由很简单,容易上手,可扩展性高,对于我们来说足够了。

既然学习Web,那肯定需要一个好的框架,工欲善其事,必先利其器。这里我选择的是Flask框架进行学习。对比Django这种重量级的框架,Flask是一种轻量级的框架,它不是保姆级的全部给你配置各种细节,而是全权需要你自己上手,这样你可以从头理解一个框架搭建的起来的原理和过程。

_ 总之,一开始学习不建议学习保姆级的框架,而要进行保姆级的学习。这里不是你一个人,虽然它不是保姆级的框架,但是这里我会带你一起保姆级地学习Flask的各种搭建。_

上手Flask

跟着学的网站:Python Web 从入门到实战【完整版】记住这里一定要跟着网站学! 博客只是整理学习资料的,方便后续复习。

消息提示

from flask import Flask, flash, render_template

app = Flask(__name__)

app.secret_key = '123'

@app.route('/')
def hello_world():

    flash("hello KID")
    return render_template("index.html")

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

然后我们看到HTML端:

Django?保姆级地学习Python Web上手框架:Flask基础课程(二)
在之后的应用开发中我们可以合理地使用消息提示让用户的体验更好。
例如表达验证:
@app.route('/login',methods=['POST'])
def login():

    form = request.form
    username = form.get("username")
    password = form.get("password")
    if not username:
        flash("请输入用户名")

        return render_template("index.html")
    if not password:
        flash("请输入密码")
        return render_template("index.html")
    if username == "KID" and password == "11211121":
        flash("登录成功")

        return render_template("login.html")
    else:
        flash("登录失败,用户名或密码错误")
        return render_template("index.html")

异常处理

方法一:直接用app.errorhandler处理异常,例如404异常

@app.errorhandler(404)
def not_found(e):
    return render_template("404.html")

方法二:用abort抛出异常

@app.route('/users/')
def users(user_id):
    if int(user_id) == 1:
        return render_template("user.html")
    else:

        abort(404)

总结

这两节我们学习了Flask的基础课程,学到的知识有:

  • Flask应用的基本构成
  • FLask的路由
  • FLask的模板

后续我们将继续进行更深层次的学习

Original: https://blog.csdn.net/qq_45430571/article/details/122366005
Author: 白小希呀
Title: Django?保姆级地学习Python Web上手框架:Flask基础课程(二)

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

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

(0)

大家都在看

  • python ——numpy库学习

    numpy重在数值计算,也是大部分Python科学计算库的基础库 创建数组 1. import numpy as np t1=np.array([1,2,3]) print(t1)…

    Python 2023年8月29日
    051
  • 深度学习-LeNet(第一个卷积神经网络)

    文章目录 简介 数据集 模型搭建 模型训练 模型测试 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 LeNet模型是在1…

    Python 2023年10月8日
    051
  • 数字货币稳定币对网格做市策略

    更多精彩内容, 欢迎关注公众号:数量技术宅,也可添加技术宅 个人微信号:sljsz01,与我交流。 什么是稳定币对 稳定币是数字货币中特有的一类资产,不同于BTC、ETH等币值大幅…

    Python 2023年6月3日
    086
  • Win10 安装scrapy出现错误Microsoft Visual C++ 14.0 进行离线安装

    命令行 python install scrapy 会报这个错: 就是说你要安装 Microsoft Visual C++ 14.0 才能装好,所以可以选择百度安装这个,但是这软件…

    Python 2023年10月4日
    0117
  • 淘宝用户行为分析

    数据来源:数据集-阿里云天池 一、项目背景 本数据报告以淘宝app平台为数据集随机选取了大约 100 万用户在 2014 年 11 月 18 日至 12 月 18 日期间具有曝光、…

    Python 2023年9月1日
    057
  • RuntimeError: element 0 of tensors does not require grad and does not have a grad_

    今天在跑代码的过程中,因为要训练一个模型然后在测试阶段使用PGD来生成相应的adv_image来测试这个模型,结果运行到测试阶段出现下面的问题。 报错如下:RuntimeError…

    Python 2023年8月27日
    092
  • python包合集-shutil

    * – fsrc:源文件 – fdst:复制至fdst文件 – length:缓冲区大小,即fsrc每次读取的长度 3、代码演示 f1 = op…

    Python 2023年6月9日
    078
  • Linux驱动开发:字符设备驱动开发实战

    Linux驱动开发:字符设备驱动开发实战 一、工程创建 VSCode 创建工程,设置 C/C++ 配置,导入 linux kernel 源码目录,方便 vscode 写代码自动补全…

    Python 2023年11月7日
    039
  • python去除含st的股票

    df=pd.DataFrame({‘name’:[‘st新光’,’平安银行’],’sst&#82…

    Python 2023年8月19日
    082
  • 利用箱线图过滤数据

    文章目录 箱线图 箱线图分析和过滤数据 * 单组数据的箱线图绘制 多组数据的箱线图绘制 数据过滤 – 单组数据 多组数据 一些滤出图 箱线图 维基百科:箱形图(英文:B…

    Python 2023年9月2日
    073
  • Numpy库速通教程典藏版 #一篇就够了系列

    Numpy库速通教程典藏版 #一篇就够了系列 一文带你拿下numpy 文章目录 1. 创建数组 * 1.1 通过 array( object ) 创建 – 1.1.1 …

    Python 2023年8月23日
    071
  • jvm双亲委派机制详解

    双亲委派机制 ​ 记录一下JVM的双亲委派机制学习记录。 类加载器种类 ​ 当我们运行某一个java类的main方法时,首先需要由java虚拟机的类加载器将我们要执行的main方法…

    Python 2023年10月15日
    053
  • python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟

    怎么在Python项目中利用Pygame绘制一个时钟 发布时间:2020-11-30 14:24:30 来源:亿速云 阅读:54 作者:Leah 怎么在Python项目中利用Pyg…

    Python 2023年9月25日
    034
  • 模块十一:sprite模块

    sprite模块是一个主要用来实现精灵的模块,在pygame中,精灵可以认为是一张张可以在屏幕中移动的小图片,并且可以和其他图形对象交互。精灵可以是pygame绘制的图像,也可以是…

    Python 2023年9月18日
    045
  • 数据库范式

    第一范式(1NF):每列字段都是原子性的,不可分解; eg:用户信息表中地址信息 编号姓名年龄地址1张三30重庆市xxx区xxx街道xxxx号1-1 针对地址列是不可分割的,但是如…

    Python 2023年11月6日
    030
  • .NET 反向代理-YARP

    什么是 YARP YARP (另一个反向代理) 设计为一个库,提供核心代理功能,你可以根据应用程序的特定需求进行自定义。 YARP 是使用 .NET的基础架构构建在 .NET上的。…

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