Django - 表单(Forms)

Django - 表单(Forms) 首页 / Django入门教程 / Django - 表单(Forms)

Django Forms 表单可用于将数据移入或移出模型。替代方法是 ModelAdmin 但建议仅由 superuser staff用户使用。 Web应用程序的最终用户必须从模板页面中的表单提交数据。 无涯教程可以选择使用 HTML ModelForm form 中创建字段。 在这两种情况下,都首先在 app 目录下创建一个名为 forms.py 的新文件。

    mysite    
        └── ...    
    myapp
        └── ...
        └── forms.py
                                

Django ModelForm

ModelAdmin 相似,可以使用 ModelForm 类,并创建一个链接到 models.py 下定义的字段的表单对象。 forms.py

    from django import forms
    from .models import Blog
    
    class BlogForm(forms.ModelForm):
        class Meta:
            model = Blog
            fields = '__all__'
                                

__all__ 包括模型类下的所有字段。您也可以使用字段名称的元组。

现在,此 ModelForm 对象将在 views.py 下使用,如下所示: views.py

    from django.shortcuts import render, redirect
    from .forms import BlogForm
    
    def my_view_function(request):
        form = BlogForm(request.POST or None)
        if form.is_valid():
            form.save()
            return redirect('/mypageurl/')
        return render(request, 'my_template_page.html', {'form':form})
                                
  • redirect                 -  此函数可以将请求重定向到给定的URL路径。
  • request.POST      -  提交表单数据。
  • is_valid()              -  此函数根据模型字段类型和选项验证表单数据。
  • save()                     -  此函数将数据保存在数据库中。

最后,无涯教程需要在模板页面中制作一个表单元素,如下所示: templates - my_template_page.html

<form method="POST">
    {% csrf_token %}
    {{ from.as_p }}
    <input type="submit" value="Submit" />
</form>
  • method =" POST"     -  它是指Http POST 请求。默认值为 GET
  • csrf_token                   -  这是一种安全令牌,可防止跨站点引用伪造
  • form                                 -  除了模型字段元素之外,还需要一个提交按钮才能触发 form 次任务。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Java并发编程实战 -〔王宝令〕

玩转webpack -〔程柳锋〕

即时消息技术剖析与实战 -〔袁武林〕

高并发系统设计40问 -〔唐扬〕

接口测试入门课 -〔陈磊〕

互联网人的英语私教课 -〔陈亦峰〕

如何看懂一幅画 -〔罗桂霞〕

React Hooks 核心原理与实战 -〔王沛〕

计算机基础实战课 -〔彭东〕

好记忆不如烂笔头。留下您的足迹吧 :)