返回

新版 Django 极简教程 Part 6 A:简单表单

后端

好的,以下是一篇关于 Django Web 极简教程(六)- Django Form(Part A)的文章:

在 Web 开发中,表单是一个至关重要的工具,常被用于收集用户的信息或反馈。Django 作为一款功能强大的 Web 框架,为表单的使用提供了完善的支持。在本教程中,我们将介绍如何在 Django 中使用 Form 来创建简单的表单。

Form 表单

表单是在浏览器中用于收集后端需要的信息并提交给后端的一个工具,常见的表单如:登录表单、注册表单、请假表单等。一般来说,表单包含四个部分:表单提交地址、表单提交方法、表单控件和表单按钮。表单提交地址指定了表单提交后的数据将被发送到的后端地址。表单提交方法通常是 GET 或 POST。GET 方法将表单数据作为 URL 的一部分发送给后端,而 POST 方法将表单数据作为 HTTP 请求的 body 发送给后端。表单控件是用于收集用户输入的元素,如文本框、密码框、复选框等。表单按钮用于提交表单,通常是“提交”或“保存”等按钮。

Django Form

Django 提供了一种简单的方法来创建表单。只需创建一个 Form 类,并定义要收集哪些信息。然后,就可以在模板中使用这个表单,让用户输入信息并提交。

创建 Form 类

要创建 Form 类,需要继承自 Django 的 Form 类。在 Form 类中,需要定义一个内嵌类 Meta,并在其中指定要收集哪些字段。每个字段都是一个 Field 类,Django 提供了多种不同的 Field 类,如 CharField、IntegerField、BooleanField 等,分别对应不同的数据类型。

以下是创建一个简单的 Form 类示例:

from django.forms import ModelForm
from .models import Contact

class ContactForm(ModelForm):
    class Meta:
        model = Contact
        fields = ['name', 'email', 'message']

使用 Form 类

创建好 Form 类后,就可以在模板中使用它来渲染表单。可以使用 {% form %} 标签来渲染表单,也可以使用 {% csrf_token %} 标签来防止跨站请求伪造(CSRF)攻击。以下是使用 Form 类渲染表单的示例:

{% load crispy_forms_tags %}
{% crispy form %}

处理表单数据

当用户提交表单后,Django 会将表单数据传递给视图函数。视图函数可以对表单数据进行处理,如保存到数据库、发送电子邮件等。以下是处理表单数据的示例:

def contact_view(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/success/')
    else:
        form = ContactForm()
    return render(request, 'contact.html', {'form': form})

结语

以上就是 Django 中使用 Form 创建简单表单的教程。希望本教程能够帮助您快速入门 Django 的表单使用。在下一篇教程中,我们将介绍如何在 Django 中使用 Form 来创建更高级的表单,敬请期待!

注:本教程仅介绍了 Django Form 的基础知识,更多高级用法请参考 Django 官方文档。

本教程配套资源:

  • 文章配套代码:[Github 链接]
  • 配套视频教程:[Youtube 链接]