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

怎么在网站备案号码上加一个工信部链接地址泰州网站排名seo

怎么在网站备案号码上加一个工信部链接地址,泰州网站排名seo,想接外包做网站,有那个网站做简历模板初始Flask框架 Flask 是一个轻量级的 Python Web 框架,它基于 WSGI 工具包 Werkzeug 和模板引擎 Jinja2 构建,被广泛用于快速开发 Web 应用和 API。Flask 的设计理念是 “微而不缺”(Micro but not lacking),它提供了…

初始Flask框架

Flask 是一个轻量级的 Python Web 框架,它基于 WSGI 工具包 Werkzeug 和模板引擎 Jinja2 构建,被广泛用于快速开发 Web 应用和 API。Flask 的设计理念是 “微而不缺”(Micro but not lacking),它提供了核心功能(如路由、请求处理、会话管理),但不强制依赖特定的数据库或表单验证工具,开发者可以根据需求自由选择和集成第三方扩展。

核心特点

  1. 轻量级:无内置数据库、表单验证或用户认证系统,仅保留 Web 应用的核心功能。
  2. 灵活:支持各种数据库(SQLite、MySQL、PostgreSQL)、ORM(SQLAlchemy)、表单验证(WTForms)等。
  3. 可扩展:通过 Flask 扩展(如 Flask-RESTful、Flask-SQLAlchemy、Flask-Login)轻松添加功能。
  4. 学习曲线平缓:适合初学者快速上手 Web 开发。

Flask 与 Django 的对比

  • Flask:适合小型项目、API 开发、快速原型或需要高度定制的场景。
  • Django:内置 ORM、管理后台、表单验证等全套组件,适合大型、功能完整的 Web 应用。

基本工作流程

  1. 路由定义:通过装饰器(如 @app.route('/'))将 URL 映射到处理函数。
  2. 请求处理:接收 HTTP 请求,处理业务逻辑,返回响应(HTML、JSON 等)。
  3. 模板渲染:使用 Jinja2 模板引擎生成动态 HTML。
  4. 会话管理:通过 Cookie 或服务器端会话跟踪用户状态。

常用扩展

  • Flask-SQLAlchemy:数据库 ORM 工具,简化数据库操作。
  • Flask-RESTful:构建 RESTful API 的工具。
  • Flask-Login:处理用户认证和会话管理。
  • Flask-JWT-Extended:支持 JSON Web Token(JWT)认证。
  • Flask-CORS:处理跨域资源共享(CORS)问题。

实际应用场景

  • API 开发:构建轻量级后端服务(如 JSON API、GraphQL)。
  • Web 应用原型:快速验证想法,后期可扩展为大型项目。
  • 微服务:作为独立服务处理特定业务逻辑。
  • 数据可视化:结合前端框架(如 React、Vue)展示动态数据。

安装方法

通过 pip 安装 Flask:

pip3 install flask

示例Flask

创建一个简单flask

下面是一个简单的 Flask 应用示例,创建一个返回 “Hello, World!” 的 Web 服务:

from flask import Flask# 创建 Flask 应用实例,__name__ 表示当前模块名称
app = Flask(__name__)# 定义路由:当用户访问根路径 / 时,执行下方的函数
@app.route('/')
def hello_world():  # 视图函数,处理客户端请求并返回响应return 'Hello, world!'  # 返回字符串作为 HTTP 响应内容# 主程序入口:确保应用只在直接运行脚本时启动,而非被导入时
if __name__ == '__main__':# 启动 Flask 开发服务器# host='0.0.0.0' 允许外部网络访问# port=5000 指定服务器端口# debug=True 开启调试模式,修改代码后自动重启并显示详细错误信息app.run(host='0.0.0.0', port=5000, debug=True)

运行站点

python3 aaa.py

访问该站点

[root@localhost ~]# curl 192.168.10.101:5000
Hello,world!
###!!!!成功
Flask路由与视图函数
from flask import Flask# 创建 Flask 应用实例,__name__ 作为应用根路径的参考点
app = Flask(__name__)# 定义根路径路由:当用户访问网站根目录时触发
@app.route('/')
def hello_world():# 返回静态字符串作为 HTTP 响应return 'Hello,world!'# 定义动态路由:通过 URL 参数接收用户名
@app.route('/greet/<name>')
def greet(name):# 使用 f-string 格式化字符串,动态生成问候语return f'nihao, {name}'# 主程序入口:确保应用作为脚本直接运行时才启动服务器
if __name__ == '__main__':# 启动 Flask 开发服务器# host='0.0.0.0': 允许外部网络访问# port=5000: 监听 5000 端口# debug=True: 开启调试模式(自动重载代码 + 详细错误信息)app.run(host='0.0.0.0', port=5000, debug=True)

代码解释:

  • <name> 是 URL 变量,会被捕获并传递给 name 参数
  • f'nihao, {name}' 使用 Python 3.6+ 的格式化字符串语法

访问

[root@localhost ~]# curl 192.168.10.101:5000/greet/zhangsan
nihao, zhangsan
[root@localhost ~]# 
多种http请求方法

在上面原有的基础上增加一个route

@app.route('/submit',methods=['POST'])
def submit():return '提交成功'

代码功能

创建一个接收 POST 请求 的 API 端点 /submit,当客户端通过 POST 方法访问该路径时,返回固定文本 提交成功

  • @app.route:Flask

  • 的路由装饰器,将 URL 路径映射到视图函数。

  • /submit:定义访问路径,客户端需请求 http://域名/submit

  • methods=['POST']
    

    限制请求方法

    为 POST(默认仅支持 GET)。

    ✅ 常见 HTTP 方法:

    • GET:获取资源(如查询数据)。
    • POST:提交数据(如表单、文件上传)。
    • PUT:更新资源。
    • DELETE:删除资源。

访问

[root@localhost ~]# curl  -XPOST 192.168.10.101:5000/submit
提交成功[root@localhost ~]# 

使用Jinjia2模版渲染HTMl示例

什么是Jinjia?

Jinja2 是 Python 生态中最流行的 模板引擎,由 Flask 框架的开发者 Armin Ronacher 创建,用于将 Python 变量和逻辑嵌入到 HTML、XML 或其他文本格式中,广泛应用于 Web 开发、邮件模板、配置文件生成等场景。

核心特点

  1. 安全:默认自动转义 HTML,防止 XSS 攻击。
  2. 灵活:支持变量渲染、条件判断、循环、过滤器等。
  3. 可扩展:自定义过滤器、标签和测试函数。
  4. 高性能:编译模板为 Python 字节码,执行速度快。
  5. 集成友好:与 Flask、Django 等框架无缝集成。
与其他模板引擎对比
特性Jinja2Django 模板Mako
安全性中等
性能中等极高
灵活性中等极高
语法复杂度中等简单复杂
语法示例

使用jinjia2模版渲染html

[root@localhost ~]# mkdir templates   ###创建templates 目录 (flask默认模版存放位置)
[root@localhost ~]# cd templates ###进入目录
[root@localhost templates]# vim index.html
<html>
<head>
<meta charset='UTF-8'>
<title>你好,杜甫</title></head>
<body>
<h1> hello, {{ name }} </h1></body></html>

代码功能解析

  1. HTML 基础结构

    • 标准的 HTML5 文档结构,包含 headbody 标签。
    • charset='UTF-8' 确保中文等非 ASCII 字符正常显示。
  2. Jinja2 模板语法

    <h1> hello, {{ name }} </h1>
    
    • {{ name }} 是 Jinja2 的 变量占位符,会在渲染时被替换为 Python 传递的数据。
    • 例如,若 Python 代码传递 name='李白',则最终页面会显示 hello, 李白
  3. 静态与动态内容结合

    • <title>你好,杜甫</title> 是静态文本,始终显示 “你好,杜甫”。
    • <h1> hello, {{ name }} </h1> 是动态内容,name 会被替换。
from flask import Flask, render_template# 创建 Flask 应用实例
app = Flask(__name__)# 定义动态路由:接收 URL 中的 name 参数
@app.route('/greet/<name>')
def greet(name):# 渲染 templates/index.html 模板,并将 name 参数传递给模板# 模板中的 {{ name }} 会被替换为实际传入的值return render_template('index.html', name=name)# 主程序入口:确保应用作为脚本直接运行时才启动服务器
if __name__ == '__main__':# 启动 Flask 开发服务器# host='0.0.0.0': 允许外部网络访问# port=5000: 监听 5000 端口# debug=True: 开启调试模式(自动重载代码 + 详细错误信息)app.run(host='0.0.0.0', port=5000, debug=True)

这里站点的name值会传参给网页中的name值

访问验证
[root@localhost ~]# curl 192.168.10.101:5000/greet/lisi  ##这里我们输入lisi name参数传参给下方网页中的name
<html>
<head>
<meta charset='UTF-8'>
<title>你好,杜甫</title></head>
<body>
<h1> hello, lisi </h1>   ###这里的lisi参数是有站点中name传参</body></html>

模板的继承与块

什么是模版的继承

模板继承是 Jinja2(以及许多其他模板引擎)提供的一种强大机制,用于创建可复用的模板结构。它允许你定义一个基础模板(包含通用布局),然后通过子模板继承并覆盖特定部分,从而避免代码重复。

核心概念
  • 基础模板:定义网站的整体结构(如头部、导航栏、页脚),包含可被子模板替换的 块(block)
  • 子模板:继承基础模板,并通过 {% block %} 标签覆盖特定区域的内容。
  • 基础模版一定写入到子模版内
示例

站点文件

# 导入 Flask 框架和模板渲染函数
from flask import Flask, render_template# 创建 Flask 应用实例,__name__ 表示当前模块名称
app = Flask(__name__)# 定义根路径 '/' 的路由处理函数
@app.route('/')
def aaa():# 渲染并返回 templates 目录下的 base.html 模板# 注意:需要确保 templates 目录存在且包含 base.html 文件return render_template('base.html')# 应用程序入口点
if __name__ == '__main__':# 启动 Flask 开发服务器# host='0.0.0.0' 允许外部访问服务器# port=5000 指定服务器端口为 5000# debug=True 开启调试模式,代码修改后自动重启服务器app.run(host='0.0.0.0', port=5000, debug=True)

关键注释说明:

  1. Flask 实例创建:通过 Flask(__name__) 创建应用实例

  2. 路由定义:使用 @app.route 装饰器定义 URL 路由

  3. 模板渲染render_template 函数会在 templates 目录中查找指定的模板文件

  4. 开发服务器配置

    • host='0.0.0.0' 使服务器可通过网络访问
    • debug=True 仅用于开发环境,生产环境应禁用
  5. 应用入口if __name__ == '__main__' 确保代码作为脚本直接运行时才启动服务器

基础模版 base.html

<!DOCTYPE html>
<!-- 设置页面语言为简体中文 -->
<html lang="zh-CN">
<head><!-- 设置字符编码为 UTF-8 --><meta charset="UTF-8"><!-- 配置响应式布局,确保在移动设备上正确显示 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 使用 Jinja2 模板引擎的块标签,允许子模板覆盖页面标题 --><title>{% block title %}My website{% endblock %}</title><!-- 引入 Font Awesome 图标库 --><link href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet">
</head>
<body><!-- 页面头部区域,通常包含导航栏 --><header><h1>nihao</h1><!-- 导航菜单,使用无序列表实现 --><nav><ul><li><a href="/">首页</a></li><li><a href="/about">关于</a></li><li><a href="/contact">联系我们</a></li></ul></nav></header><!-- 主内容区域,使用 Tailwind CSS 类实现居中布局和内边距 --><!-- container mx-auto 使内容居中,px-4 提供水平内边距,py-8 提供垂直内边距 --><main class="container mx-auto px-4 py-8"><!-- Jinja2 块标签,子模板将在这里插入具体内容 -->{% block content %}{% endblock %}</main><!-- 页脚区域,使用深灰色背景和白色文字 --><footer class="bg-gray-800 text-white py-8"><div class="container mx-auto px-4"><p>© 2025 版权所有</p></div></footer>
</body>
</html>

代码结构说明

  1. 文档类型与语言设置
    • <!DOCTYPE html> 声明使用 HTML5 标准
    • lang="zh-CN" 指定页面语言为简体中文
  2. 头部元信息
    • 字符编码设置
    • 响应式布局配置
    • 动态标题块(可被子模板覆盖)
    • 外部资源引入
  3. 页面结构
    • <header>:页面头部区域,包含网站标题和导航
    • <main>:主要内容区域,使用 Tailwind CSS 类实现响应式布局
    • <footer>:页脚区域,显示版权信息
  4. 模板继承机制
    • {% block title %}:允许子模板自定义页面标题
    • {% block content %}:子模板的主要内容将插入此处

验证

用浏览器访问更加直观

http://192.168.10.101:5000/
CTYPE html>
nihao
首页
关于
联系我们
© 2025 版权所有

总结

Flask 的 “微框架” 特性使其成为灵活、高效的开发工具,尤其适合追求简洁性和自由度的开发者。无论是个人项目、企业级应用,还是 API 服务,Flask 都能以最小的学习成本实现强大功能。

http://www.mnyf.cn/news/49490.html

相关文章:

  • 2017 如何做网站优化天津最新消息今天
  • wordpress投票系统孝感seo
  • 评价一个网站的好坏如何注册网站免费注册
  • 政府网站方案书佛山做网站建设
  • 山西做网站优势广州百度推广客服电话多少
  • 温州网站开发定制搜索引擎优化seo的英文全称是
  • 聊城网站开发培训下载安装百度
  • 自己怎样制作公司网站郑州优化网站公司
  • 佛山网站建设外包公司如何设计与制作网页
  • 网站建设工作目标免费刷seo
  • 管理网站模板下载免费下载域名权重是什么意思
  • 阜阳网站建设公司建什么网站可以长期盈利
  • 网站规划与设计方向视频广告
  • 淘宝做轮播广告哪个网站好seo短期培训班
  • 网站怎么做交易最新seo网站优化教程
  • 上海网站建设建站济宁百度竞价推广
  • 潮阳建设局网站网站排名优化查询
  • wordpress菜单右置seo网站优化专家
  • 顺德新网站建设百度推广优化怎么做的
  • 如何注册个人营业执照青岛seo网络推广
  • 商丘网站建设专业现状外链推广
  • 网站建设 提案 框架产品市场推广计划书
  • 网站怎么做支付宝接口信息发布推广方法
  • 北京的广告公司网站建设本周国内新闻
  • 直播网站开发步骤爱网站查询挖掘工具
  • 锦州微商网站制做预测2025年网络营销的发展
  • 宜宾网站建设88sou软文写作经验
  • 手机html5网站源码百度关键词优化多久上首页
  • 个人网站论坛展示地推任务网
  • 网站建设跑业务跨境电商有哪些平台