Python 教程之 Django(3)表格

简介: Python 教程之 Django(3)表格

创建 Form 类时,最重要的部分是定义窗体的字段。每个字段都有自定义验证逻辑,以及其他一些挂钩。本文围绕可以在表单中使用的各种领域以及与Django表单相关的各种功能和技术。表单基本上用于以某种方式从用户那里获取输入,并将该信息用于数据库上的逻辑操作。例如,通过将输入作为用户的姓名,电子邮件,密码等来注册用户。

Django 将 Django 表单中定义的字段映射到 HTML 输入字段。Django处理表单中涉及的工作的三个不同部分:

  • 准备和重组数据,使其准备好进行渲染
  • 为数据创建 HTML 表单
  • 接收和处理来自客户的提交表格和数据

请注意,Django表单完成的所有类型的工作都可以使用高级HTML内容来完成,但是Django使它变得更容易和高效,尤其是验证部分。一旦你掌握了Django表单,你就会忘记HTML表单。


语法: Django字段的工作方式类似于 Django 模型字段,并具有以下语法:

 field_name = forms.FieldType(**options) 

例:

from django import forms
# 创建表单
class GeeksForm(forms.Form):
  title = forms.CharField()
  description = forms.CharField()

使用 Django 表格


要使用Django Forms,需要有一个项目和一个应用程序在其中工作。启动应用程序后,您可以在应用程序/表单中创建表单.py。在开始使用表单之前,让我们检查一下如何启动项目并实现Django表单。


创建一个 Django 表格

在Django中创建表单与创建模型完全相似,需要指定表单中存在哪些字段以及什么类型。例如,要输入,注册表单可能需要名字(字符字段),卷号(整数字段)等。

语法:

from django import forms
class FormName(forms.Form):
         # 每个字段都将在 HTML 中映射为输入字段
        field_name = forms.Field(**options)

要创建表单,请在极客/表单中.py输入代码,

# 从内置库导入标准 Django 表单
from django import forms
# 创建表单
class InputForm(forms.Form):
  first_name = forms.CharField(max_length = 200)
  last_name = forms.CharField(max_length = 200)
  roll_number = forms.IntegerField(
          help_text = "Enter 6 digit roll number"
          )
  password = forms.CharField(widget = forms.PasswordInput())

渲染 Django 表格

Django表单字段有几个内置的方法来简化开发人员的工作,但有时需要手动实现一些东西来自定义用户界面(UI)。表单附带了3个内置方法,可用于呈现Django表单字段。

  • {{ form.as_table }} 将把它们呈现为包装在  标记中的表格单元格
  • {{ form.as_p }} 将使它们包装在  标记中
  • {{ form.as_ul }} 将使它们包装在
  • 标记中

若要将此窗体呈现为视图,请转到 views.py 并创建home_view如下所示。

from django.shortcuts import render
from .forms import InputForm
# 在此处创建您的视图。
def home_view(request):
  context ={}
  context['form']= InputForm()
  return render(request, "home.html", context)

在视图中,只需创建上面在 forms.py 中创建的表单类的实例即可。现在,让我们>主页编辑模板.html

<form action = "" method = "post">
  {% csrf_token %}
  {{form }}
  <input type="submit" value=Submit">
</form>

现在,请访问 http://localhost:8000/

image.png

目录
相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
22天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
197 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
155 7
|
2月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
57 4
|
3月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
269 45
|
5月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
183 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
3月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
112 2
|
3月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
73 1
|
4月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
74 4

热门文章

最新文章

推荐镜像

更多