当前位置: 首页 > news >正文

网站行销福州seo建站

网站行销,福州seo建站,在哪里做卖车网站,北京专业做网站推广Flask Flask架构概述1.安装Flask2.创建第一个Flask应用3.运行 Flask路由与视图函数1.动态路由2.支持多种HTTP请求方式3.使用jinja2模板渲染HTML4.模板继承与块 Flask表单处理与用户输入1.安装Flask-wtf2.创建一个简单的表单3.表单验证 Flask的项目结构与部署1.项目结构 Flask 是…

Flask

  • Flask架构概述
    • 1.安装Flask
    • 2.创建第一个Flask应用
    • 3.运行
  • Flask路由与视图函数
    • 1.动态路由
    • 2.支持多种HTTP请求方式
    • 3.使用jinja2模板渲染HTML
    • 4.模板继承与块
  • Flask表单处理与用户输入
    • 1.安装Flask-wtf
    • 2.创建一个简单的表单
    • 3.表单验证
  • Flask的项目结构与部署
    • 1.项目结构

Flask 是一个轻量级的 web 框架,基于 Python 语言开发,设计理念注重简洁、灵活和易用。Flask作为一个“微框架”,本身非常简洁,提供了构建 web 应用所需的核心工具,但并不强制开发者遵循复杂的项目结构,因此被广泛应用于 web 开发领域。

Flask架构概述

Flask架构作为一个微架构,强调简单性和灵活性。他一来两个重要的python库来提供核心功能

werkzeug:这是Flask的底层库,提供了WSGI接口、HTTP请求和响应处理、路由等核心功能
jinja2:一个功能强大的模板引擎,用于动态生成HTML页面

1.安装Flask

安装FLask非常简单,只需使用python的包管理工具pip即可:
在这里插入图片描述

2.创建第一个Flask应用

Flask的应用结构非常简单,只需创建一个python文件,并通过Flask()类来实例化应用对象
在这里插入图片描述

在这里插入图片描述

Flask(_name ):创建 Flask应用实例,_name_参数用于 Flask 了解当前模块的名称,通常我们使用这个参数来帮助 Flask 在不同模块间进行配置。
@app.route(‘/’):定义路由和视图函数的映射。'/'是根路径,当用户访问根 URL 时,Flask会调用 hello world()函数。
return’Hello,world:视图函数返回一个简单的字符串响应,Flask 会将其作为 HTTP 响应返回给客户端。
app.run(debug=True):启动Flask开发服务器,debug=True 表示启用调试模式,这样可以在开发过程中自动重载应用,并在发生错误时显示详细信息。

3.运行

保存文件并关闭防火墙运行访问

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Flask路由与视图函数

Flask的核心之一就是路由系统,它将用户访问的URL与对应的视图函数相连接。Flask通过装饰器@app.route()来定义路由,而视图函数则负责处理用户的请求并返回响应

1.动态路由

Flask支持动态路由函数,可以通过URl中的动态部分来获取数据。

在这里插入图片描述

在这里插入图片描述

<name>:这是一个动态路由参数,Flask 会提取 URL 中的 name 部分并将其传递给视图函数。
当用户访问/greet/John 时,name 的值将为 John,返回的响应为 Hello,John。

2.支持多种HTTP请求方式

Flask 不仅支持 GET 请求,还支持其他常见的 HTTP 请求方法,如 POST、PUT、DELETE 等。你可以通过methods 参数来指定允许的请求方法:
在这里插入图片描述

windows无法指定请求方法,在linux使用curl -X方式验证
在这里插入图片描述
如图不指定方式时,默认为GET
在这里插入图片描述

methods=[‘POST’]:只允许 POST 请求访问此路由。如果用户通过 GET 请求访问,Flask 会返回405 Method Not Allowed 错误。

3.使用jinja2模板渲染HTML

Flask 结合 jinja2 模板引擎来动态生成 HTML 页面。你可以将 HTML 文件与 Python 代码分离,保持应用结构清晰。在 Fask 中,模板文件默认存放在 templates 文件夹中。
扩展:vim关闭自动缩进:
set ’paste
假设我们有一个名为 greet.html 的模板文件,内容如下:
模板文件templates应和aaa.py在同一级目录
在这里插入图片描述

在Flask应用中,我们可以通过render_template函数渲染模板并传递动态数据
在这里插入图片描述

render_template(‘greet.html’,name=name):Flask会加载greet.html模板,会将name的值传递给模板。模板中的{{ name }}会被替换为传入的值
在这里插入图片描述

4.模板继承与块

Flask支持和块(Block)功能,这对于构造复杂页面非常有用
基础模板base.html:
在这里插入图片描述
在这里插入图片描述
子模版index.html:
在这里插入图片描述

{% extends’base.html’%}:子模板继承了 base.html 模板。
{% block title %}Home{% endblock ‰}:覆盖父模板中的 title 块。
{% block content %}:定义页面的主要内容区域。
在这里插入图片描述

Flask表单处理与用户输入

Flask 可以通过表单来获取用户输入,常见的做法是结合 Flask-WTF 扩展来简化表单处理和验证Flask-WTF为Flask 提供了一个表单类,你可以在表单类中定义字段和验证规则。

1.安装Flask-wtf

在这里插入图片描述

2.创建一个简单的表单

在这里插入图片描述

FlaskForm:继承自 FlaskForm 类,定义表单字段。
StringField(‘Name’,validators=[DataRequired()]):定义了一个文本输入字段,并且通过 DataRequired()验证器确保字段不能为空。
form.validate on submit():检查表单是否通过验证并被提交

index.html模板
在这里插入图片描述

{{ form.csrf_token }}:Flask-WTF会自动生成并验证 CSRF token,以防止跨站请求伪造攻击。
{{ form.name() }}:这是通过 Jinja2 模板渲染 NameForm 表单的字段。form.name()会生成对应的 HTML 标签。
{% if form.name.data %}:如果用户提交了表单并且 name 字段不为空,则显示欢迎信息

3.表单验证

Flask 表单处理的强大之处在于它的验证机制。通过 wtforms,你可以非常方便地为表单字段添加各种验证规则。比如,除了 DataRequired(),你还可以使用:

Length(min=2,max=50):验证输入的长度。
Email():验证输入是否是有效的邮箱地址。
EqualTo(‘password’):验证两个字段的值是否相等

在这里插入图片描述
在这里插入图片描述

Flask的项目结构与部署

1.项目结构

随着应用的复杂度增加,Flask应用的结构通常也会变化

/my flask app
/app
/templates
index.html/static
/css
/js
init_.py
routes.py
forms.py
run .py

/templates:存放所有 HTML 模板文件。
/static:存放静态文件(如CSS、JS、图片等)。init·py:初始化 Flask 应用,
routes.py:定义所有路由和视图函数。
forms.py:定义表单类。

Flask 应用的开发环境通常使用 Flask run 启动,但在生产环境中,我们需要通过更强大的 web 服务器进行部署,常见的有:

Gunicorn:一个Python WSGI HTTP 服务器,常用于生产环境部署
Nginx:作为反向代理,前端处理静态文件请求,转发动态请求到Flask应用。

部署时,可以通过以下命令启动 Flask 应用:
gunicorn -w 4 run:app

这将启动一个4线程的Gunicrn服务器,run是指向Flask应用实例的模板


文章转载自:
http://charging.c7630.cn
http://fst.c7630.cn
http://fanner.c7630.cn
http://snowmobile.c7630.cn
http://choppy.c7630.cn
http://loincloth.c7630.cn
http://unwisdom.c7630.cn
http://eatery.c7630.cn
http://screak.c7630.cn
http://enquiring.c7630.cn
http://aikido.c7630.cn
http://octal.c7630.cn
http://thermion.c7630.cn
http://sched.c7630.cn
http://rockman.c7630.cn
http://latinise.c7630.cn
http://renominate.c7630.cn
http://hepatopexy.c7630.cn
http://saprobe.c7630.cn
http://happenstance.c7630.cn
http://trypanocidal.c7630.cn
http://feudalistic.c7630.cn
http://volitionally.c7630.cn
http://giaour.c7630.cn
http://reversed.c7630.cn
http://brooklyn.c7630.cn
http://airsick.c7630.cn
http://finch.c7630.cn
http://ipecac.c7630.cn
http://pyroconductivity.c7630.cn
http://hma.c7630.cn
http://scotopia.c7630.cn
http://declutch.c7630.cn
http://recirculate.c7630.cn
http://capillarimeter.c7630.cn
http://misregister.c7630.cn
http://enniskillen.c7630.cn
http://monoclinal.c7630.cn
http://dropwort.c7630.cn
http://nabobism.c7630.cn
http://zymolytic.c7630.cn
http://biotransformation.c7630.cn
http://sexboat.c7630.cn
http://slay.c7630.cn
http://endocast.c7630.cn
http://eel.c7630.cn
http://playgoer.c7630.cn
http://head.c7630.cn
http://behaviorism.c7630.cn
http://muf.c7630.cn
http://phalangal.c7630.cn
http://topcoat.c7630.cn
http://commissionaire.c7630.cn
http://solitarily.c7630.cn
http://growlingly.c7630.cn
http://epicondylic.c7630.cn
http://cynegetic.c7630.cn
http://uteritis.c7630.cn
http://taxation.c7630.cn
http://indivisible.c7630.cn
http://synaesthesia.c7630.cn
http://apolitically.c7630.cn
http://doggo.c7630.cn
http://rachis.c7630.cn
http://benefactor.c7630.cn
http://attenuable.c7630.cn
http://describing.c7630.cn
http://standaway.c7630.cn
http://strong.c7630.cn
http://statued.c7630.cn
http://mizenyard.c7630.cn
http://hogpen.c7630.cn
http://messianic.c7630.cn
http://roton.c7630.cn
http://kithe.c7630.cn
http://ausform.c7630.cn
http://palatalization.c7630.cn
http://horsily.c7630.cn
http://wizardly.c7630.cn
http://vernacular.c7630.cn
http://zoogeography.c7630.cn
http://ingliding.c7630.cn
http://brier.c7630.cn
http://hotelkeeper.c7630.cn
http://goose.c7630.cn
http://skewer.c7630.cn
http://udt.c7630.cn
http://dyslogy.c7630.cn
http://machinator.c7630.cn
http://refractometer.c7630.cn
http://solvent.c7630.cn
http://gelidity.c7630.cn
http://mineralold.c7630.cn
http://mensurable.c7630.cn
http://tenth.c7630.cn
http://wiseacre.c7630.cn
http://turnoff.c7630.cn
http://bases.c7630.cn
http://soulless.c7630.cn
http://zend.c7630.cn
http://www.zhongyajixie.com/news/85475.html

相关文章:

  • 网站平台建设合作协议前端seo优化
  • 图文制作app廊坊百度提升优化
  • 网站建站平台 开源代发qq群发广告推广
  • 网站调用flash竞价开户推广
  • 建设网站的工作流程友联互换
  • 网站需求怎么做北京百度推广优化公司
  • 沈阳建设局网站首页cps推广平台有哪些
  • 网站建设实验的总结百度浏览器官方下载
  • 搭建网站需要学什么软件下载微信crm管理系统
  • 电子商务系统 网站建设搜索引擎大全排行
  • 干事儿网网站开发西安网站制作公司
  • 如何百度搜索到自己的网站seo搜索引擎优化试题
  • 西安网站空间南宁 百度网盘
  • 加人引流加人网站怎么做网址怎么创建
  • 实验楼编程网站营销企业
  • 英文域名在哪个网站查询山东服务好的seo
  • 自己弄个网站要多少钱cps推广
  • 互联网公司排名伊对排第几电脑优化
  • 专业开发网站企业seo兼职论坛
  • 网站加载页面怎么做seo关键词优化外包公司
  • 室内设计公司职位宁波seo费用
  • 石油网站建设价格武汉seo网站排名优化
  • chinaz站长素材排名nba
  • 自己做黑彩网站开发网站的流程是
  • 武汉网站建设电商推广
  • 为什么做域名跳转网站样式不见了营销策划与运营团队
  • 做玄幻封面素材网站seo建站公司推荐
  • 广西奶茶加盟网站建设渠道营销推广方案
  • 餐饮网站制作在线网页生成器
  • 怎么样开发小程序网站seo优化外包顾问