Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

这篇具有很好参考价值的文章主要介绍了Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

☕️ 推荐关注我的另一个专栏系列:大道至简,该系列收录了许多优质的人工智能算法博文,包括机器学习和自然语言处理等,持续更新中,欢迎各位关注~

 

介绍完Python-web开发学习笔记(2)--- HTML基础_尚拙谨言的博客-CSDN博客,我们来搞一个简单的网站小案例,带大家更进一步理解HTML网页和web框架之间是怎么运作的,本篇以做一个简单的注册页面为例。

目录

1. 网站运行简要描述

2. 网站开发小案例—Flask

(1)安装flask

(2)在pycharm中新建项目

(3)新建一个注册账户的页面

(4)编写flask代码

(5)用户注册,提交注册数据


1. 网站运行简要描述

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

浏览器通过我们用户进行的一些操作,向后台发起请求,后台接收到请求后,会解析请求字段,根据字段对应的要求,执行对应的功能模块(例如执行def xxx方法),并将执行结果返回到某个HTML文件中,后台接收到返回后,会作为请求的响应返回给浏览器,响应中包含了一堆HTML标签,浏览器接收到响应后,会解析这一堆HTML标签,并在浏览器页面上展示给用户。

2. 网站开发小案例—Flask

在写案例之前,我们首先要大体认识一下什么是web框架。说白了,我们和浏览器的交互过程中,会存在大量的浏览器与后台服务中心的交互、后台服务中心与数据库的交互、传输数据的处理、数据的传输、数据的格式化、网址的解析、网址的映射等一系列复杂的过程,这些复杂的过程大多数并不需要我们开发人员去操作,开发人员更多的精力应该放在服务的设计、页面的编写、库表的设计、功能模块的开发、API的设计等,那其它的复杂过程,就需要交由web框架来处理了,也就是我们是在web框架上进行我们的功能开发。python领域常见的web框架有flask,Django。还有Java领域的Spring等。

本文为了方便,使用轻量级的flask框架进行案例的设计,快速制作一个简单的实现注册账户的web服务。话不多说,上手:

(1)安装flask

pip install flask

(2)在pycharm中新建项目

我这里命名一个.py文件:flask_demo.py

(3)新建一个注册账户的页面

我这里新建一个register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>

<form method="post" action="/register">
    <div>
        用户名:<input type="text" name="user"/>
    </div>
    <div>
        密码:<input type="password" name="pwd"/>
    </div>
    <div>
        性别:
        <input type="radio" name="gender" value="1">男
        <input type="radio" name="gender" value="2">女
    </div>
    <div>
        爱好:
        <input type="checkbox" name="hobby" value="10">看书
        <input type="checkbox" name="hobby" value="20">打球
        <input type="checkbox" name="hobby" value="30">唱歌
        <input type="checkbox" name="hobby" value="40">旅游
    </div>

    <div>
        城市:
        <select name="city">
            <option value="bj">北京</option>
            <option value="sh">上海</option>
            <option value="sz">深圳</option>
        </select>
    </div>

    <div>
        备注:<textarea name="more"></textarea>
    </div>

    <input type="submit" value="submit按钮-注册">
</form>

</body>
</html>

以上HTML各标签的含义我在之前的文章中都讲过,大家可以到本文同属专栏中去翻看哈~这里不再赘述。上述代码运行后效果如下:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

(4)编写flask代码

from flask import Flask, render_template, request

# 给自己的项目取个名字,这里__name__意味着使用当前项目的名字
app = Flask(__name__)

# 为自己的服务定义一个接口名,该接口需拼接在URL后面,方可访问http服务
@app.route('/register', methods=['GET', "POST"])
def register():
    if request.method == "GET":
        return render_template('register.html')

    else:
        user = request.form.get("user")
        pwd = request.form.get("pwd")
        gender = request.form.get("gender")
        hobby_list = request.form.getlist("hobby")
        city = request.form.get("city")
        more = request.form.get("more")
        print(user, pwd, gender, hobby_list, city, more)
        # 通常,我们会实现一个将上述用户注册信息写入数据库中实现注册

        # 待上述一切执行完毕后,我们需要给用户返回结果
        return "注册成功!" # 在真正业务场景中,此处返回的一般都会是HTML文件,即return render_template('xxx.html')


if __name__ == '__main__':
    # 运行启动web服务,持续监听用户端发起的请求
    app.run()

执行上述代码后,你将会看这样的结果:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

出现上图中的样子,说明你的web后台服务启动起来了。上图中第一行的“flask_demo”就是代码中定义的app名称“__name__”,名称自己随便定义。上图中的IP地址,是我们要访问注册页面的地址,注意地址后面必须拼接上我们定义的接口名称“/register”,现在我们可以通过该URL在浏览器中打开注册页面了:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

(5)用户注册,提交注册数据

现在我们要填写注册信息了:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

接着我们点击submit按钮,看下啥效果:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

返回了一个“注册成功”,这是我们代码里return的内容。仅仅如此吗?再看下图:

Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

最上头俩404的GET我们不管它。看下面一个GET和一个POST,GET是因为我们通过URL进入了注册页面,此时为GET请求方式。POST是因为我们提交了注册信息,此时为POST请求方式,之前说过,POST一半多用于表单的提交,而且请求信息不会体现在URL上,那么体现在哪儿?就是上图最下面那一行,就是我们提交的注册信息,也就是说,POST请求的信息,会记录在后台服务中,当然,上图的信息并不是浏览器的用户能够看到的,而是服务端的你能够看到的。

温馨提示:了解了http服务运行机制后,大家就知道,千万不要在陌生页面输入自己的敏感信息,人家后台可都记着呢!

至此,一个简易的网站小案例制作完成,希望通过本文,大家能够对网站运行机制有一个更为清晰的认识。有帮助的话,记得点赞+关注哦!文章来源地址https://www.toymoban.com/news/detail-462214.html

到了这里,关于Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】Web学习笔记_flask(2)——get&post

    flask提供的request请求对象可以实现获取url或表单中的字段值 GET请求 从URL中获取name、age两个参数 POST请求 使用request.form可以接受表单数据 login.html模板: 获取用户名称、密码

    2024年02月14日
    浏览(22)
  • 【Python】Web学习笔记_flask(6)——会话&session对象

    处理利用cookie来判断用户登录外,也可以使用session来判断用户是否登录 html代码和cookie对象的设置相同    

    2024年02月12日
    浏览(20)
  • 【Python】Web学习笔记_flask(1)——get&post

    flask提供的request请求对象可以实现获取url或表单中的字段值 GET请求 从URL中获取name、age两个参数 POST请求 使用request.form可以接受表单数据 login.html模板: 获取用户名称、密码

    2024年02月14日
    浏览(20)
  • 【Python】Web学习笔记_flask(7)——Jinja2模板(1)

    Jinja2是基于python的模板引擎,功能类似于PHP的amarty、J2ee的Freemarker和velocity,完全支持Unicode,并具有集成的沙箱执行环境,Jinja2使用的事BSD协议,允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售。 渲染模板: 执行关键代码: 执行结果:  

    2024年02月11日
    浏览(19)
  • 【python-web】开源个fastapi脚手架

    对于python-web后端而言,设计一套后端项目结构信手拈来,而对于爬虫工程师来说可能并不是那么的容易。 这里在下基于fastapi以及cookiecutter开源了个脚手架,帮助大家伙一键搭建fastapi项目结构。 项目地址: https://gitee.com/if-always/cookiecutter-fastapi 然后根据提示输入项目名称、作

    2024年02月21日
    浏览(24)
  • Flask Web开发实战(狼书)| 笔记第1、2章

    2023-8-11 以前对网站开发萌生了想法,又有些急于求成,在B站照着视频敲了一个基于flask的博客系统。但对于程序的代码难免有些囫囵吞枣,存在许多模糊或不太理解的地方,只会照葫芦画瓢。 而当自己想开发一个什么网站的时,就如同摸着石头过河,常在许多小问题上卡住

    2024年02月12日
    浏览(16)
  • 【Python】使用pycharm结合gradio做一个web页面的demo

    紧接上文我们安装好了python3.10,现在需要下载它的开发工具pycharm,我们在这里不过多赘述具体细节,仅简要说明关键步骤,来通过gradio体验一下示例demo pycharm官网:https://www.jetbrains.com.cn/pycharm/ 然后再创建一个 app.py 的一个Python文件 我们需要把 Python解释器 设置为我们前面安

    2024年02月15日
    浏览(17)
  • [学习笔记]python的web开发全家桶(ing)

    源学习视频 目的:开发一个平台(网站) 前端开发:HTML、CSS、JavaScript Web框架:接收请求并处理 MySQL数据库:存储数据地方 快速上手: 基于Flask Web框架让你快速搭建一个网站出来。 深入学习: 基于Django框架(主要) 老师在P2的26分22秒使用的画图软件是Excalidraw 2.4.1 div和span div

    2024年02月04日
    浏览(32)
  • Python Web 开发 Flask 介绍

    WEB开发是现在程序必会的技能,因为大部分软件都以Web形式提供,及时制作后台开发,或者只做前台开发,也需要了解Web开发的概念和特点。由于Python是解释性脚本语言,用来做Web开发非常适合,而且Python有上百种Web开发框架,以及成熟的模板技术,使得Web开发如虎添翼。今

    2024年02月14日
    浏览(18)
  • RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132733901 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《RK3568开发笔记(六):

    2024年02月07日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包