Web开发day1:使用flask快速搭建网站

目录

1. 简单跑通 

2. 浏览器能识别的标签

2.1 编码(head中)

2.2 标题(head中)

2.3 标题(body中,块级标签)

2.4 div和span(body中,div块级标签,span行内标签)

2.5 超链接(body中,行内标签)

2.6 图片(body中,行内标签)

2.7 列表(body中,块级标签)

2.8 表格(body中,块级标签)

2.9 input系列(body中,行内标签)

2.10 下拉框(body中,行内标签)

2.11 多行文本(body中,行内标签)

3. Flask网站请求流程图 

4. 案例


进度来源:最新Python的web开发全家桶(django+前端+数据库)

网址: 最新Python的web开发全家桶(django+前端+数据库)_哔哩哔哩_bilibili

1. 简单跑通 

from flask import Flask
from flask import render_template  # 搭配templates文件夹下的html文件使用

app = Flask(__name__)  # 实例化一个对象


# 修饰器,创建了网址和函数的对应关系,只有访问地址就会执行此函数
@app.route("/show/info")
def index():
    # return "中国联通"
    # return "中<h1>国</h1><span style='color:red;'>联通</span>"

    # Flask内部会自动打开这个文件,并读取内容,返回,默认去当前文件夹的templates文件夹去找
    return render_template("index.html")


if __name__ == '__main__':
    app.run()  # 在地址后加/show/info会执行index函数,想要shut需要自己停止
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>出卖我的爱</h1>
</body>
</html>

结果展示:

2. 浏览器能识别的标签

2.1 编码(head中)

以UTF-8的格式读取html文件

<meta charset="UTF-8">

2.2 标题(head中)

网页的标题是Title,即标签页上显示的内容

<title>Title</title>

2.3 标题(body中,块级标签)

<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>

2.4 div和span(body中,div块级标签,span行内标签)

div:一整行。【块级标签】

span:有多少占多少。【行内标签、内联标签】

<div>自己占一整行</div>
<span>内联</span><span>有多少占多少</span>

注意:后期加上CSS可丰富样式

2.5 超链接(body中,行内标签)

跳转到其他网站:

<a href="https://www.bilibili.com/">点击跳转</a>

跳转到自己网站的其他网址: 

<a href="https://127.0.0.1:5000/get/news">点击跳转</a>
<a href="/get/news">点击跳转</a>

2.6 图片(body中,行内标签)

自结束标签(只有一对<>):

<img src="https://pic1.zhimg.com/80/v2-650e91dd2baf0dfda1be2a0305d81237_720w.webp?source=1940ef5c" />

当需要显示自己的图片时,图片要放在当前目录的static目录下,可设置大小:

<img style="height:100px; width:100px;" src="/static/wbg.png" />
<img style="height:60%;" src="/static/wbg.png" />

<a>和<img>配合使用,可实现点击图片跳转,加入target="_blank"可打开新页面:

<a href="https://www.mi.com/">
    <img src="https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9ab5c6d195d2b3dde69683966891d5a9.png" target="_blank"/>
</a>

2.7 列表(body中,块级标签)

<ul>是无序标签,<ol>是有序标签

<ul>
    <li>中国移动</li>
    <li>中国联通</li>
</ul>

<ol>
    <li>百度搜索</li>
    <li>百度学术</li>
</ol>

2.8 表格(body中,块级标签)

<thead>表头,<tbody>是表格体,<tr>表示一行。加入border="1"后表格会加上边框

<table border="1">
    <thead>
        <tr> <th>ID</th> <th>name</th> <th>mail</th> </tr>
    </thead>
    <tbody>
        <tr> <td>1</td> <td>张三</td> <td>qq.com</td> </tr>
        <tr> <td>2</td> <td>李四</td> <td>163.com</td> </tr>
    </tbody>
</table>

2.9 input系列(body中,行内标签)

<!--文本框,输入文字-->
<input type="text">

<!--密码框,输入密码,显示为黑点-->
<input type="password">

<!--文件框,点击选择文件-->
<input type="file">

<!--单选框,一般成对出现,name参数相同时选择互斥-->
<input type="radio" name="n1"><input type="radio" name="n1"><!--复选框,可同时选择多个-->
<input type="checkbox">篮球
<input type="checkbox">足球
<input type="checkbox">棒球

<!--按钮-->
<input type="button" value="提交">  <!--普通按钮-->
<input type="submit" value="提交">  <!--可提交表单-->

2.10 下拉框(body中,行内标签)

<!--单选-->
<select>
    <option>北京</option>
    <option>上海</option>
    <option>深圳</option>
</select>

<!--多选,按住shift或者ctrl可实现多选-->
<select multiple>
    <option>北京</option>
    <option>上海</option>
    <option>深圳</option>
</select>

2.11 多行文本(body中,行内标签)

<!--可输入多行文本,rows控制默认显示的行数-->
<textarea rows="3"></textarea>

3. Flask网站请求流程图 

浏览器向后端发送请求主要有两种方式:

  • GET请求:URL方法 / 表单提交,请求的信息体现在URL中,例如上图中的“提交请求”步骤。
  • POST请求:表单提交,请求的信息体现在请求体(Form data)中。

4. 案例

# app.py
from flask import Flask, render_template, request

app = Flask(__name__)


@app.route("/register", methods=["GET", "POST"])
def register():
    if request.method == "GET":
        return render_template("register.html")
    else:
        # 接受用户通过POST请求发送过来的数据,GET请求是request.args
        uname = request.form.get("uname")
        upass = request.form.get("upass")
        gender = request.form.get("gender")
        hobby_list = request.form.getlist("hobby")
        city = request.form.get("city")
        skill_list = request.form.getlist("skill")
        memo = request.form.get("memo")
        print("用户名:", uname)
        print("性别:", gender)
        print("擅长领域:", *skill_list)
        return "注册成功"


@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "GET":
        return render_template("login.html")
    else:
        uname = request.form.get("uname")
        upass = request.form.get("upass")
        print("uname:", uname)
        print("upass:", upass)
        return "登陆成功"


if __name__ == '__main__':
    app.run()
<!--/templates/register.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
    <base target="_blank" />  <!--使超链接的参数target="_blank"能够生效-->
</head>
<body>
    <h1>
        用户注册
        <a href="https://www.mi.com/">
            <img src="https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/9ab5c6d195d2b3dde69683966891d5a9.png" style="height:100px; width:100px;" target="_blank" />
        </a>
    </h1>

    <!--使用form把需要提交的数据包裹起来,method表示提交方式,action表示提交到哪里-->
    <!--注意:form中需要提交的数据必须有name参数-->
    <!--一般注册请求都是POST-->
    <form method="post" action="/register">
    <div>
        用户名:
        <input type="text" name="uname">
    </div>

    <div>
        密码:
        <input type="password" name="upass">
    </div>

    <div>
        性别:
        <input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female"></div>

    <div>
        爱好:
        <input type="checkbox" name="hobby" value="basketball">篮球
        <input type="checkbox" name="hobby" value="soccer">足球
        <input type="checkbox" name="hobby" value="pingpang">乒乓球
    </div>

    <div>
        城市:
        <select name="city">
            <option value="beijing">北京</option>
            <option value="tianjin">天津</option>
            <option value="shanghai">上海</option>
        </select>
    </div>

    <div>
        擅长领域:
        <select multiple name="skill">
            <option value="coding">代码</option>
            <option value="writing">写作</option>
            <option value="eating">吃饭</option>
        </select>
    </div>

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

    <div>
        <input type="button" value="普通按钮">
        <input type="submit" value="提交表单按钮">  <!--与form搭配,提交数据-->
    </div>
    </form>
</body>
</html>
<!--/templates/login.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
    <h1>用户登录</h1>
    <form method="post" action="/login">
        <div>
            用户名:
            <input type="text" name="uname">
            密码:
            <input type="password" name="upass">
        </div>
        <input type="submit" value="提交登录信息">
    </form>
</body>
</html>

用户注册界面如下所示:

用户登录界面如下所示:

我选择四娃
关注 关注
  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Flask快速开发WEB应用.doc
11-29
使用Flask快速开发WEB应用.doc
使用Flask web框架快速搭建一个网站(学习笔记1)
qyqyqyi的博客
01-16 1982
使用flask web框架快速搭建一个网站
[心得]基于Flask技术的web博客开发总结
cmrsautomation的博客
10-16 1280
Flask主要依赖werkzeng和jinja2模板。 werkzeng提供route,debug和web服务,jinja2模板提供网页前端展示功能。 bootstrap是twitter的一个开源框架,它提供的用户界面的组件可以方便地在flask中复用。开发完一个项目之后,可以用pip freeze > requirements.txt来把开发中调用的依赖库dump到一个文件。 当部署时,pi
使用Flask框架创建一个简单的Web应用程序(详细教程)
最新发布
python03012的博客
03-20 1383
PythonWeb开发使用Python语言进行Web应用程序开发的过程。Python是一种简洁、易读且功能强大的编程语言,因此在Web开发领域广受欢迎。PythonWeb开发可以涵盖多个方面,包括服务器端开发、数据库管理、前端设计和API开发等。在服务器端开发中,常用的Python Web框架有Django、Flask和Bottle等。这些框架提供了一套工具和结构,使得开发者能够更高效地构建Web应用程序。在PythonWeb开发中,数据库管理也是一个重要的方面。
Python应用】爬虫教程:利用python-Flask框架搭建本地数据可视化网站
有朋自远方来,不亦乐乎。
04-28 9685
成果展示: (1)网站首页: (2)电影表单页 (3) 电影评分页 (4) 词频统计页 (5)团队页面 接下来让我们看看上述网站是如何完成的: 首先简单介绍一下Flask框架: Flask主要功能有两个: (1)Werkzeug——路由转换 (2)jinja2——框架渲染 1、环境搭建: 下载python-Flask扩展包 pip install flaskFlask模块导入程序中: from flask import Flask ..
Flask的大型网站模板
热门推荐
GalaIO的博客
05-19 2万+
第一次学习使用Flask的时候是为了赶鸭子上架,那时候pythonflask的优势就出来了,没有任何网站开发经验,两天部署出一个简单的微信公众平台,说到底这都是开源的力量,开源让我们处处有免费的代码使用,甚至可以进行二次开发。一个流行的开源软件,势必会银乐公众的瞩目,然后经过社区或者开发人员的验证,我们可以非常放心的使用,不过那次开发仅仅使用flask的路由功能,然会数据都。。。
Python WebFlask框架(一)快速开发网站
qq_51670115的博客
09-15 1771
Flask快速开发网站,网站优化
如何使用Flask包构建网页
读万卷书 行万里路
01-25 6509
这篇博客的重点在于页面之间的跳转及前后端的数据传输。
Flask开发网页步骤详解
小菜的OnePiece的博客
06-28 1710
注意在具体的应用中,需要根据文件名的编码和需要的展示方式,选择合适的字符编码进行处理,以确保文件名的正确性和兼容性。视图函数是处理用户请求的函数,它接收并处理用户发送的请求,并返回相应的响应结果。获取表单数据时,要确保请求的方法为POST,并且表单中的字段名称与代码中使用的名称一致。通过路由,你可以将不同的URL路径映射到不同的视图函数上,从而实现对不同页面或功能的处理。通过使用HTML表单和Flask的路由和视图函数,你可以实现与用户的交互,并通过POST请求将数据发送到服务器进行处理。
从零用python flask框架写一个简易的网站
Python热爱者的博客
06-07 923
使用Python编写Web应用程序时,你可以使用不同类型的Web框架、模板引擎和数据库来处理。本文只是一个简单的示例,让你了解如何使用PythonFlask框架开发一个简单的Web应用程序。如果你想了解更多的Web开发知识,可以深入研究相关文档和教程。
使用 Pythonflask 架构搭建一个简单web网站
K_AAbb的博客
08-29 3688
使用flask搭建一个简单web网站 1.flask最简单框架,返回hello world: from flask import * app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__=="__main__": app.run(host='0.0.0.0',port=8080) # 0.0.0.0地址可给本机所有的IP地址访问 我们可以在app路由处的
万字长文 Flask搭建大型博客网站
kkljx_jiandan的博客
08-17 1074
Flask博客网站项目 文章目录Flask博客网站项目前期准备 前期准备 安装python虚拟环境
web_push:使用Flask进行Web推送通知的参考
05-16
web_push 使用Flask进行Web推送通知的参考
Flask+Web开发实战,flaskweb开发实战pdf,Python
09-10
Flask+Web开发实战的PDF版本。Flask是目前最流行的Python Web框架之一。自2010年开源以来,Flask受到了越来越多的Python开发者的喜欢,其受欢迎程度不输于Django。
flask-example:使用Flask开发的最小Web应用程序
02-05
使用框架开发的最小Web应用程序。 主要目的是介绍如何使用FlaskWeb应用程序中实现基本元素,包括 网址建立 会话认证 模板和模板继承 错误处理 与Bootstrap集成 与数据库的交互(SQLite) 调用静态资源 有关Flask...
discover-flask使用Flask进行全栈Web开发
02-26
使用Flask进行全栈Web开发。 是由Python驱动的微型Web框架。 它的API很小,易于学习且易于使用。 但是,不要让它愚弄您,因为它足够强大,可以支持处理大量流量的企业级应用程序。 您可以从一个应用程序完全包含在...
flask写一个自己的网站
qq_50847752的博客
11-17 1162
实现了页面的跳转,注册,登陆等简单的功能,并且可以保存用户登陆的数据信息。因为数据量不大所以使用了Excel保存了用户数据。如果有需要可以使用mysql来保存用户数据比较简陋,只为了实现功能,有兴趣可以自己进行美化
基于Flask搭建个人网站
画个圈圈诅咒你 的博客
07-05 890
no
python_flask网站搭建
snailchangquan的博客
09-30 1265
html相当于骨架;css相当于外貌;link是引入css标签的;script相当于思想;body相当于内容 flask 官方文档:http://docs.jinkan.org/docs/flask/ http请求: 协议://域名或ip/path 1、flask最小应用: from flask import Flask #创建一个网站 app = Flask(__name__)...
flask web开发:基于pythonweb应用开发
10-16
Flask是一种基于Python语言的轻量级Web应用开发框架。它提供了强大的工具和库,使得开发者能够快速构建简单且高效的Web应用。 Flask框架的设计理念是简洁而灵活的,它的核心思想是“尽量做最少的事情”。这意味着...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Web开发day1:使用flask快速搭建网站 2660
  • Web开发day16:Antv X6 + Vue(Chapter3) 1434
  • Web开发day14:Antv X6 + Vue(Chapter1) 1074
  • Web开发day4:Django介绍 563
  • Web开发day5:项目 525

最新评论

  • python 计时函数timeit

    CSDN-Ada助手: 推荐 Python入门 技能树:https://edu.csdn.net/skill/python?utm_source=AI_act_python

  • Web开发day16:Antv X6 + Vue(Chapter3)

    我选择四娃: 主要代码都放上了,其余的就按照默认配置即可

  • Web开发day16:Antv X6 + Vue(Chapter3)

    Shine: 源码能发下吗

最新文章

  • python 计时函数timeit
  • pandas rolling多列
  • Web开发day17:Antv X6 + Vue + django(Chapter4)
2024年2篇
2023年13篇
2022年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我选择四娃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司阿坝百姓网标王推荐酒泉网络广告推广多少钱福州至尊标王推荐临沂网页设计价格台州网站优化报价玉溪百度网站优化排名多少钱滁州百度关键词包年推广哪家好绵阳高端网站设计哪家好营口SEO按效果付费公司张北网站搜索优化推荐衡水推广网站价格保山如何制作网站广州建网站坪山网站建设推荐阿里百度网站优化排名报价盐城阿里店铺托管价格威海企业网站制作公司石家庄外贸网站设计价格昌都网站优化软件抚州推广网站报价桐城设计公司网站郑州百度seo哪家好石家庄外贸网站建设多少钱怀化营销网站推荐观澜优秀网站设计吉林至尊标王报价昌吉网站建设设计公司荆州推广网站哪家好平凉网站优化排名沧州网站优化排名哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化