Python 教程之 Django(4)从模型创建 Django 表格

简介: Python 教程之 Django(4)从模型创建 Django 表格

Django 模型窗体是一个用于将模型直接转换为Django形式的类。如果您正在构建一个数据库驱动的应用程序,那么您很可能拥有与Django模型非常接近的表单。现在,当我们的项目准备就绪时,在geeks/models.py 中创建一个模型,

# 从内置库中导入标准 Django 模型
from django.db import models
# 声明一个名为“GeeksModel”的新模型
class GeeksModel(models.Model):
    # 模型的字段
  title = models.CharField(max_length = 200)
  description = models.TextField()
  last_modified = models.DateTimeField(auto_now_add = True)
  img = models.ImageField(upload_to = "images/")
    # 使用模型的标题名称重命名模型的实例
  def __str__(self):
    return self.title

若要直接为此模型创建表单,请深入了解 geeks/表单.py并输入以下代码:

# 从 Django 导入表单类
from django import forms
# 从 models.py 导入 GeeksModel
from .models import GeeksModel
# 创建 ModelForm
class GeeksForm(forms.ModelForm):
  # specify the name of model to use
  class Meta:
    model = GeeksModel
    fields = "__all__"

现在访问 http://127.0.0.1:8000/

基本表单数据类型和字段列表

表单中最重要的部分也是唯一必需的部分是它定义的字段列表。字段由类属性指定。以下是 Django 中使用的所有表单字段类型的列表

名字 输入
BooleanField class BooleanField(**kwargs) 复选框输入
CharField class CharField(**kwargs) 文本输入
ChoiceField class ChoiceField(**kwargs) Select
TypedChoiceField class TypedChoiceField(**kwargs) Select
DateField class DateField(**kwargs) 日期输入
DateTimeField class DateTimeField(**kwargs) DateTime输入
DecimalField class DecimalField(**kwargs) 当 Field.localize 为 False 时,数字输入,否则文本输入
DurationField class DurationField(**kwargs) 文本输入
EmailField class EmailField(**kwargs 电子邮件输入
FileField class FileField(**kwargs) 可清除文件输入
FilePathField class FilePathField(**kwargs) Select
FloatField class FloatField(**kwargs) 当 Field.localize 为 False 时,数字输入,否则文本输入
ImageField class ImageField(**kwargs) 可清除文件输入
IntegerField class IntegerField(**kwargs) 当 Field.localize 为 False 时,数字输入,否则文本输入
GenericIPAddressField class GenericIPAddressField(**kwargs) 文本输入
MultipleChoiceField class MultipleChoiceField(**kwargs) 选择多个
TypedMultipleChoiceField class TypedMultipleChoiceField(**kwargs) 选择多个
NullBooleanField class NullBooleanField(**kwargs) 零布尔选择
RegexField class RegexField(**kwargs) 文本输入
SlugField class SlugField(**kwargs) 文本输入
TimeField class TimeField(**kwargs) 时间输入
-----
URLField class URLField(**kwargs) URL输入
UUIDField class UUIDField(**kwargs) 文本输入

核心字段参数

核心字段参数是为每个字段提供的参数,用于应用某些约束或将特定特征赋予特定字段。例如,将所需参数 = False 添加到 CharField 将使用户能够将其留空。每个 Field 类构造函数至少采用这些参数。某些 Field 类采用其他特定于字段的参数,但应始终接受以下参数:

.math-table { 边框折叠: 折叠; 宽度: 100%; } .math-table td { 边框: 1px 实心#5fb962; 文本对齐: 左 !重要; } .math-table th { 边框: 1px 实心#5fb962; 填充: 8px; } .math-table tr>th{ 背景色: #c6ebd9; 垂直对齐: 中间; } .math-table tr:n-子(奇数) { 背景颜色: #ffffff; }

字段选项 描述
required 默认情况下,每个 Field 类都假定该值是必需的,因此要使其不是必需的,您需要设置 required=False
label 标签参数允许您为此字段指定“人性化”标签。当字段显示在窗体中时,将使用此选项。
label_suffix label_suffix参数允许您基于每个字段覆盖表单的label_suffix
widget 小部件参数允许您指定在呈现此字段时要使用的 Widget 类。
help_text help_text参数允许您为此字段指定描述性文本。如果提供help_text,则当字段由一种方便的 Form 方法呈现时,该字段将显示在字段旁边。
error_messages error_messages参数允许您覆盖字段将引发的默认消息。传入包含与要覆盖的错误消息匹配的键的字典。
validators 验证程序参数允许您为此字段提供验证函数的列表。  
localize 本地化参数允许对表单数据输入以及呈现的输出进行本地化。
disabled. 禁用的布尔参数设置为 True 时,将使用禁用的 HTML 属性禁用表单字段,以便用户无法对其进行编辑。


目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 PyTorch
200行python代码实现从Bigram模型到LLM
本文从零基础出发,逐步实现了一个类似GPT的Transformer模型。首先通过Bigram模型生成诗词,接着加入Positional Encoding实现位置信息编码,再引入Single Head Self-Attention机制计算token间的关系,并扩展到Multi-Head Self-Attention以增强表现力。随后添加FeedForward、Block结构、残差连接(Residual Connection)、投影(Projection)、层归一化(Layer Normalization)及Dropout等组件,最终调整超参数完成一个6层、6头、384维度的“0.0155B”模型
200行python代码实现从Bigram模型到LLM
|
22天前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
98 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
25天前
|
存储 机器学习/深度学习 人工智能
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
本文探讨了多模态RAG系统的最优实现方案,通过模态特定处理与后期融合技术,在性能、准确性和复杂度间达成平衡。系统包含文档分割、内容提取、HTML转换、语义分块及向量化存储五大模块,有效保留结构和关系信息。相比传统方法,该方案显著提升了复杂查询的检索精度(+23%),并支持灵活升级。文章还介绍了查询处理机制与优势对比,为构建高效多模态RAG系统提供了实践指导。
230 0
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
|
29天前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
303 0
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
2月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
91 14
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
开发框架 前端开发 JavaScript
Python 有哪些Web框架?比如Flask、Django等知识梳理
Python 有哪些Web框架?比如Flask、Django等知识梳理
525 1
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
450 0
|
7月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
117 1

推荐镜像

更多