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

建网站大约得用多少钱简单的网站首页

建网站大约得用多少钱,简单的网站首页,网站建设好销售吗,域名注册新网Python Web 框架篇#xff1a;Flask、Django、FastAPI介绍及其核心技术 目录 #x1f40d; Flask Flask 核心概念#xff08;路由、视图函数、模板渲染#xff09;Flask Blueprint 模块化应用Flask 扩展#xff08;Flask-SQLAlchemy、Flask-WTF、Flask-Migrate 等#…Python Web 框架篇Flask、Django、FastAPI介绍及其核心技术 目录 Flask Flask 核心概念路由、视图函数、模板渲染Flask Blueprint 模块化应用Flask 扩展Flask-SQLAlchemy、Flask-WTF、Flask-Migrate 等 Django Django 项目架构Django ORM 及模型定义Django 中间件Django 信号机制Django Form 和 Template 引擎 FastAPI FastAPI 核心概念路由、请求模型、响应模型Pydantic 数据验证与序列化异步编程与并发处理FastAPI 中的依赖注入 1. Flask Flask 是一个轻量级的 Python Web 框架以其灵活、简单且易于扩展的特性深受开发者的青睐。通过 Flask可以快速创建并部署 Web 应用同时保留对项目结构的高度控制。其核心概念包括路由、视图函数和模板渲染等。 Flask 核心概念路由、视图函数、模板渲染 路由是 Flask 的基础通过 app.route() 装饰器将 URL 与对应的视图函数绑定。每当用户访问该 URLFlask 就会执行相应的视图函数并返回结果。 from flask import Flask, render_templateapp Flask(__name__)# 路由示例 app.route(/) def homepage():return Welcome to Flask Homepage!# 模板渲染示例 app.route(/hello/name) def hello(name):return render_template(hello.html, namename)if __name__ __main__:app.run(debugTrue)视图函数 是用于处理请求并返回响应的核心逻辑。在 Flask 中视图函数可以返回字符串、HTML 模板或 JSON 数据。通过模板渲染机制开发者可以将数据动态传递到前端界面极大简化了页面展示的流程。 !-- hello.html -- !DOCTYPE html htmlheadtitleHello, Flask/title/headbodyh1Hello, {{ name }}!/h1/body /htmlFlask 通过 Jinja2 模板引擎实现模板渲染允许开发者将变量嵌入 HTML 模板中从而动态生成页面。 Flask Blueprint 模块化应用 Flask 的 Blueprint 功能允许开发者将大型应用程序拆分成多个模块每个模块可以独立开发和维护。这样可以提高应用的可扩展性和代码的可维护性特别适合大型 Web 应用。 from flask import Flask, Blueprint# 创建蓝图 bp Blueprint(admin, __name__, url_prefix/admin)bp.route(/) def admin_home():return Welcome to the Admin Panel!app Flask(__name__) app.register_blueprint(bp)if __name__ __main__:app.run(debugTrue)上面的例子展示了如何通过 Blueprint 创建一个独立的管理后台模块。通过 Blueprint可以将不同的功能模块化保持代码的清晰和可维护性。 Flask 扩展Flask-SQLAlchemy、Flask-WTF、Flask-Migrate 等 Flask 通过其丰富的扩展生态能够轻松实现数据库操作、表单验证和数据库迁移等功能。最常用的扩展之一是 Flask-SQLAlchemy它是一个 ORM 库简化了与数据库的交互。 from flask import Flask from flask_sqlalchemy import SQLAlchemyapp Flask(__name__) app.config[SQLALCHEMY_DATABASE_URI] sqlite:///app.db db SQLAlchemy(app)# 定义数据库模型 class User(db.Model):id db.Column(db.Integer, primary_keyTrue)username db.Column(db.String(80), nullableFalse)app.route(/) def index():users User.query.all()return , .join([user.username for user in users])if __name__ __main__:db.create_all()app.run(debugTrue)通过 Flask-WTF可以轻松处理 Web 表单的验证。Flask-Migrate 则提供了方便的数据库迁移工具帮助管理数据库结构的更新。 2. Django Django 是一个全栈 Web 框架提供了包括 ORM、模板引擎、URL 路由、中间件和信号机制在内的完整工具集。它遵循“Django 式”的开发风格能帮助开发者快速开发复杂的 Web 应用。 Django 项目架构 Django 的项目架构由多个应用组成每个应用负责一组功能。开发者可以通过命令行创建项目和应用Django 会自动生成必要的目录结构。 django-admin startproject myproject cd myproject python manage.py startapp myapp一个典型的 Django 项目结构如下 myproject/manage.pymyproject/__init__.pysettings.pyurls.pymyapp/migrations/__init__.pymodels.pyviews.pyurls.pyDjango ORM 提供了一种直观的方式定义和操作数据库模型。模型定义非常简洁可以通过类来描述表结构Django 会自动生成对应的数据库表。 from django.db import modelsclass User(models.Model):username models.CharField(max_length100)email models.EmailField()通过 ORM开发者可以使用 Python 代码直接操作数据库而不需要编写 SQL 语句。 Django 中间件 中间件是 Django 请求处理链中的关键组件它可以在请求到达视图之前或响应发出之前对其进行修改。Django 提供了多种内置中间件如身份验证、跨站点请求伪造CSRF保护等。 # settings.py MIDDLEWARE [django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware, ]开发者还可以自定义中间件处理特定的需求。 Django 信号机制 Django 的信号机制允许不同部分的代码在某些事件发生时进行通信。信号是一种发布-订阅模式常用于在模型保存、删除等操作时触发特定逻辑。 from django.db.models.signals import post_save from django.dispatch import receiver from .models import Userreceiver(post_save, senderUser) def user_saved(sender, instance, created, **kwargs):if created:print(fNew user created: {instance.username})信号使得项目中的模块可以解耦提升了代码的灵活性和可维护性。 Django Form 和 Template 引擎 Django 的表单系统通过 Form 类进行表单处理和验证极大简化了表单数据的验证和处理流程。 from django import formsclass ContactForm(forms.Form):name forms.CharField(max_length100)email forms.EmailField()message forms.CharField(widgetforms.Textarea)Django 的模板引擎允许开发者通过模板标签和过滤器来渲染动态内容帮助分离业务逻辑和前端显示。 3. FastAPI FastAPI 是一个现代的、高性能的 Web 框架专注于异步编程和快速开发。它提供了自动生成文档、数据验证等功能非常适合开发高并发的 Web 应用和 API 服务。 FastAPI 核心概念路由、请求模型、响应模型 FastAPI 的路由与 Flask 类似通过装饰器将 URL 路径与视图函数绑定。不同的是FastAPI 提供了请求和响应模型可以明确指定请求参数的类型和格式。 from fastapi import FastAPIapp FastAPI()# 定义路由 app.get(/) def read_root():return {message: Welcome to FastAPI}# 定义带参数的路由 app.get(/hello/{name}) def say_hello(name: str):return {message: fHello, {name}!}FastAPI 通过 Pydantic 实现了强大的数据验证与序列化开发者可以使用 Pydantic 模型定义请求和响应的数据结构保证数据的一 致性和准确性。 from pydantic import BaseModelclass Item(BaseModel):name: strdescription: str Noneprice: floatPydantic 数据验证与序列化 在 FastAPI 中Pydantic 被用于验证请求数据确保传入的数据符合预期格式和类型要求。 from fastapi import FastAPI from pydantic import BaseModelapp FastAPI()# 定义请求模型 class Item(BaseModel):name: strprice: floatin_stock: bool Trueapp.post(/items/) def create_item(item: Item):return {item: item}Pydantic 会自动处理类型转换和验证开发者无需手动处理数据的验证逻辑。 异步编程与并发处理 FastAPI 完全支持异步编程开发者可以通过 async 关键字实现非阻塞的视图函数从而有效处理并发请求。 import asyncio from fastapi import FastAPIapp FastAPI()app.get(/async-task) async def async_task():await asyncio.sleep(2)return {message: Async Task Completed!}通过异步编程FastAPI 可以轻松处理数千个并发请求极大提高了应用的性能。 FastAPI 中的依赖注入 FastAPI 提供了强大的依赖注入系统开发者可以通过定义依赖函数将常用的逻辑抽象出来并注入到多个路由函数中。 from fastapi import Depends, FastAPIapp FastAPI()# 定义依赖函数 def get_token_header():return Bearer token# 路由中使用依赖 app.get(/protected) def protected_route(token: str Depends(get_token_header)):return {token: token}依赖注入不仅提高了代码的复用性还帮助开发者更好地组织和管理项目中的业务逻辑。
http://www.hkea.cn/news/14448084/

相关文章:

  • 智能模板建站网站建设技术手段
  • 域名注册及网站建设百合居装饰公司
  • 开通自媒体账号的步骤网站快速排名优化报价
  • 网站投注建设cdn wordpress
  • 怎么检测网站是否安全国家企业年审营业执照官网
  • 会昌县城乡规划建设局网站网站优化定做
  • 一般门户网站网站建设怎么添加评论
  • 互联网站长名人比较好的免费外贸网站
  • 中山网站运营网站优化关键词排名
  • 帮别人做网站赚多少钱网络营销推广四个步骤
  • 建立主题网站的顺序是营销模式都有哪些
  • 大连自己的网站免费营销型企业网站模板
  • python做网站商城开发做网站有域名还需要什么
  • 论文中小企业的网站建设做课程的网站
  • 广州网站建设公网站内容是怎么吸引用户的
  • 企业建设电子商务网站的目的元气森林网络营销方式
  • 厦门免费网站建设深圳软件科技有限公司
  • 高校网站集群平台子站开发做一个论坛网站多少钱
  • 上海手机网站建设价格网络结构有哪几种
  • 中国建设工程造价管理协会网站简称个人网页内容
  • 江苏建设培训网站网站建设公司哪家
  • 学做网站论坛课程东城网站开发公司
  • 网站开发 定义注册安全工程师报名时间
  • 大岭山仿做网站wordpress主题模板中国
  • 网站开发语言 排行榜网站开发手机模拟器
  • 织梦网站名称改不了跨境电商的基本流程
  • 在门户网站做产品单页多少钱一天培训公司网站建设
  • 中国前十强企业排名wordpress博客模板seo
  • 安全的合肥网站建设wordpress wnmp
  • 通讯员队伍建设与网站新闻管理新干线快递国内如何查单