如何使用Django表单创建一个表单

如何使用Django表单创建一个表单

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

使用Django表单创建一个表单

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

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

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

from django import forms
 
# creating a form
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())
Python

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

语法 :

Field_name = forms.FieldType(attributes)
Python

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

from django.shortcuts import render
from .forms import InputForm
 
# Create your views here.
def home_view(request):
    context ={}
    context['form']= InputForm()
    return render(request, "home.html", context)
Python

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

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

所有设置都是为了检查表格是否工作,让我们访问http://localhost:8000/。

如何使用Django表单创建一个表单?

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

  • {{ form.as_table }}将把它们渲染成由<tr>标签</tr>包裹的表格单元格。
  • {{ form.as_p }}将呈现它们被包裹在<p>标签
  • {{ form.as_ul }}会把它们包在<li>标签</li>里呈现出来

人们也可以修改这些设置,使用{{ form.field_name }}显示他想要的字段,但如果某些字段是空的,这可能会改变正常的验证过程,因此需要特别注意。更多 – Django表单。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册