怎么建一个卖东西的网站网站怎样关键词排名优化
news/
2025/9/25 21:13:06/
文章来源:
怎么建一个卖东西的网站,网站怎样关键词排名优化,深圳建设门户网站,海螺集团网站建设招标公告在日常编码环节#xff0c;很大比例的错误处理工作和参数的输入有关。当程序里的某些数据直接来自用户输入时#xff0c;必须先校验这些输入值#xff0c;再进行之后的处理#xff0c;否则就会出现难以预料的错误。 需求#xff1a;
写一个命令行小程序#xff0c;它要求…在日常编码环节很大比例的错误处理工作和参数的输入有关。当程序里的某些数据直接来自用户输入时必须先校验这些输入值再进行之后的处理否则就会出现难以预料的错误。 需求
写一个命令行小程序它要求用户输入一个 0100 范围的数字。假如用户输入的内容无效就要求其重新输入。 常规方案
示例代码如下
def input_a_number():要求用户输入一个 0100 的数字如果无效则重新输入while True:number input(Please input a number (0-100): )if not number:print(Input can not be empty!)continueif not number.isdigit():print(Your input is not a valid number!)continueif not (0 int(number) 100):print(Please input a number between 0 and 100!)continuenumber int(number)breakprint(fYour number is {number})
测试结果
Please input a number (0-100):
Input can not be empty!
Please input a number (0-100): hello
Your input is not a valid number!
Please input a number (0-100): 80
Your number is 80
这个虽然可以满足我们的需求但是如果需要校验的输入有很多那这个检验逻辑就会很复杂冗余。 使用pydantic专业数据校验模块
来看下ChatGPT的介绍 Pydantic 是一个 Python 的数据验证库它可以让你定义数据模型并自动验证输入数据的类型和结构。它的主要目标是使数据验证变得简单、快速和可靠。 以下是 Pydantic 的一些主要功能和优点 声明式模型定义使用 Pydantic你可以通过简单的 Python 类来定义数据模型。这些类使用类型提示来定义字段的类型并且支持各种 Python 原生类型、自定义类以及第三方库的类型。 自动验证定义好数据模型后Pydantic 将自动验证输入数据的类型和结构是否符合模型的要求。如果数据不符合模型定义Pydantic 将会引发验证错误。 数据解析Pydantic 提供了方便的方法来解析原始数据如 JSON、字典等并将其转换为定义的数据模型实例。 序列化输出除了解析输入数据Pydantic 还可以将数据模型实例序列化为 JSON 字符串或字典等格式以便于输出或传输。 数据转换Pydantic 允许你定义字段的转换函数以在数据验证或解析过程中对字段进行转换或预处理。 内置验证器Pydantic 提供了许多内置的验证器如 EmailValidator、LengthValidator 等用于验证字段的特定属性。 与 FastAPI 集成Pydantic 与 FastAPI 框架深度集成可以直接将 Pydantic 模型用作 FastAPI 路径操作的请求和响应模型。 总的来说Pydantic 是一个功能强大且易于使用的数据验证库特别适用于构建需要处理大量数据输入和输出的 Python 应用程序如 Web 服务、API 和数据处理工具。 上面的需求重新实现一次
from pydantic import BaseModel, conint, ValidationError
class NumberInput(BaseModel):# 使用类型注解 conint 定义 number 属性的取值范围number: conint(ge0, le100)def input_a_number_with_pydantic():while True:number input(Please input a number (0-100): )# 实例化为 pydantic 模型捕获校验错误异常try:number_input NumberInput(numbernumber)except ValidationError as e:print(e)continuenumber number_input.numberbreakprint(fYour number is ) 其它场景
在编写代码时应当尽量避免手动校验任何数据一般搜下都会有专门的模块。因为数据校验任务独立性很强所以应该引入合适的第三方校验模块或者自己实现让它们来处理这部分专业工作。
比如你在开发 Web 应用数据校验工作通常来说比较容易。比如 Django 框架就有自己的表单验证模块Flask 也可以使用 WTForms 模块来进行数据校验。 WTForms模块介绍 WTForms 是一个 Python 的 Web 表单验证和渲染库用于处理 Web 应用程序中的表单。它提供了一个简单而灵活的方式来定义表单验证用户输入并生成 HTML 表单字段。 一个简单而灵活的方式来定义表单验证用户输入并生成 HTML 表单字段。 以下是 WTForms 的一些主要特点和优点 简单易用WTForms 提供了一个简洁的 API使得定义和处理表单变得简单和直观。 表单验证WTForms 允许你定义表单字段以及它们的验证规则例如必填、长度限制、数据类型等。当用户提交表单时WTForms 会自动验证用户输入是否符合定义的规则并返回相应的错误消息。 CSRF 保护WTForms 内置了 CSRFCross-Site Request Forgery保护可以帮助你防止 CSRF 攻击。 支持多种字段类型WTForms 支持多种常见的 HTML 表单字段类型如文本框、密码框、复选框、下拉框等同时也支持自定义字段类型。 表单渲染WTForms 可以根据表单定义自动生成 HTML 表单字段简化了前端开发的工作。 与 Flask 和 Django 集成WTForms 可以与 Flask 和 Django 等流行的 Web 框架无缝集成方便在这些框架中使用。 下面是一个简单的示例演示如何使用 WTForms 在 Flask 中创建一个简单的登录表单
from flask import Flask, render_template, request
from wtforms import Form, StringField, PasswordField, validators# 创建 Flask 应用程序
app Flask(__name__)# 定义登录表单
class LoginForm(Form):username StringField(Username, [validators.Length(min4, max25)])password PasswordField(Password, [validators.DataRequired()])# 定义登录路由
app.route(/login, methods[GET, POST])
def login():# 创建登录表单实例form LoginForm(request.form)# 检查表单是否已提交且通过验证if request.method POST and form.validate():# 获取表单中的用户名和密码username form.username.datapassword form.password.data# 在这里可以进行用户认证等操作return fWelcome, {username}!# 渲染登录页面并传入表单实例return render_template(login.html, formform)if __name__ __main__:app.run(debugTrue)在上面的示例中我们首先定义了一个名为 LoginForm 的表单类其中包含了用户名和密码两个字段并指定了它们的验证规则。然后我们在登录路由中使用该表单类创建了表单实例并在提交表单时进行了验证。如果表单验证通过就可以获取用户名和密码并进行相应的处理。
当然你需要在 Flask 应用程序的模板中创建一个 HTML 文件来渲染登录表单但这超出了代码示例的范围。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917540.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!