写点什么

如何使用 Django Forms 创建表单?

  • 2022 年 6 月 23 日
  • 本文字数:999 字

    阅读完需:约 3 分钟

Django 表单是一组高级 HTML 表单,可以使用 python 创建并以 Python 方式支持 HTML 表单的所有功能。这篇文章围绕如何使用各种表单字段和属性创建基本表单。在 Django 中创建表单与创建模型完全相似,需要指定表单中存在哪些字段以及类型。例如,要输入注册表单,可能需要名字 (CharField)、卷号 (IntegerField) 等。 

使用 Django 表单创建表单

使用示例说明 Django 表单。考虑一个名为 geeksforgeeks 的项目,它有一个名为 geeks 的应用程序。 


在您的极客应用程序中创建一个名为 forms.py 的新文件,您将在其中制作所有表单。要创建 Django 表单,您需要使用 Django Form Class。让我们演示一下。 

在你的 forms.py 中输入以下内容, 


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())
复制代码


让我们解释一下到底发生了什么,左侧表示字段的名称,在右侧,您相应地定义了输入字段的各种功能。字段的语法表示为 

语法 : 


Field_name = forms.FieldType(attributes)
复制代码


现在要将这个表单渲染到一个视图中,移动到 views.py 并创建一个 home_view,如下所示。 


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


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


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


全部设置为检查表单是否正常工作让我们访问http://localhost:8000/ 



表单工作正常,但视觉效果令人失望,Django 提供了一些预定义的方式以方便的方式显示表单。在模板中,以下将修改输入为, 

  • {{ form.as_table }}会将它们呈现为包裹在 <tr> 标签中的表格单元格

  • {{ form.as_p }}会将它们呈现在 <p> 标签中

  • {{ form.as_ul }}会将它们呈现在 <li> 标签中

也可以使用 {{ form.field_name }} 修改这些设置并根据需要显示字段,但是如果某些字段为空并因此需要特别小心,这可能会改变正常的验证过程。

发布于: 刚刚阅读数: 3
用户头像

公众号:海拥 2021.11.29 加入

【个人网站】haiyong.site 【联系方式】微信:wh18363 【软件技能】前端,Java,Python 【个人称号】InfoQ 写作社区签约作者,华为云享专家,CSDN原力作者,全栈领域优质创作者,掘金2021年度人气作者No.21

评论

发布
暂无评论
如何使用 Django Forms 创建表单?_Python_海拥(haiyong.site)_InfoQ写作社区