首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我使用action属性,Django表单不会保存

如果您在Django中使用action属性,表单数据将不会自动保存。action属性用于指定表单数据提交的目标URL,而不是将数据保存到数据库中。在Django中,表单数据的保存通常是通过视图函数来处理的。

要保存表单数据,您需要执行以下步骤:

  1. 在Django中定义一个表单类,该类继承自forms.Form或forms.ModelForm,具体取决于您是否使用模型来保存数据。
  2. 在表单类中定义字段,并根据需要添加验证规则。
  3. 在视图函数中实例化表单类,并将请求的数据传递给表单对象。
  4. 使用表单对象的is_valid()方法验证数据是否有效。
  5. 如果数据有效,可以通过调用表单对象的save()方法将数据保存到数据库中。

以下是一个示例代码:

代码语言:txt
复制
# forms.py
from django import forms

class MyForm(forms.Form):
    name = forms.CharField(max_length=100)
    email = forms.EmailField()

# views.py
from django.shortcuts import render
from .forms import MyForm

def my_view(request):
    if request.method == 'POST':
        form = MyForm(request.POST)
        if form.is_valid():
            # 保存数据到数据库
            form.save()
            return render(request, 'success.html')
    else:
        form = MyForm()
    
    return render(request, 'my_form.html', {'form': form})

在上面的示例中,我们定义了一个名为MyForm的表单类,具有name和email字段。在视图函数my_view中,我们首先检查请求的方法是否为POST,如果是,则实例化表单对象并将请求的数据传递给它。然后,我们调用is_valid()方法验证数据的有效性。如果数据有效,我们调用save()方法将数据保存到数据库中。

请注意,上述示例中的模板文件(my_form.html和success.html)需要根据您的实际需求进行编写。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供相关链接。但是,腾讯云提供了丰富的云计算服务,您可以访问腾讯云官方网站以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django 学习笔记之表单

表单元素 --> action 属性:指定表单数据提交到哪个页面。例子中是提交到 search.html 页面,这个也会跳转到 search.html 页面。...如果你想把数据提交到原来的页面,action 的值为空就行,即 action="" method 属性:规定提交表单时所用的 HTTP 方法,一般选择 GET 或者 POST。...target 属性:规定 action 属性中地址的目标(默认:_self)。如果填写值 _blank ,当点击按钮提交数据时,在新窗口中打开新的页面。 常用表单元素有以下这些: <!...它具有以下功能: 1)自动生成HTML表单元素 2)检查表单数据的合法性 3)如果验证错误,重新显示表单(数据不会重置) 4)数据类型转换(字符类型的数据转换成相应的Python类型) 3.2 Form... 在 url.py 定义表单的路径是: from django.contrib

2.6K30

注册

用户注册就是创建用户对象,将用户的个人信息保存到数据库里。回顾一下 Django 的 MVT 经典开发流程,对用户注册功能来说,首先创建用户模型(M),这一步我们已经完成了。...如果数据合法,就新建一个用户对象,将用户的数据保存到数据库,否则就将错误信息返回给用户,提示用户对提交的信息进行修改。...中使用表单,必须注意以下几点: 设置表单action 属性。...这里只需记住只要使用表单,一定要在表单中加 {% csrf_token %} 模板标签,否则 Django 将不允许你提交表单数据。 接下来就是表单的控件部分。...浏览器输入 http://127.0.0.1:8000/admin/,登录管理员账户,可以查看到注册的用户信息了,比如在的后台可以看到三个用户: image.png 其中有一个是使用 createsuperuser

9.1K60
  • django 实现简单的搜索功能

    如果不知道什么是 CSRF 的话也没有关系,只要记住在使用 django 时,前端的表单代码里一定要加上 {% csrf_token %} 。...用户输入了搜索关键词并点击了搜索按钮后,数据就被发送给了 django 后台服务器。表单action 属性的值为 /search/,表明用户提交的结果将被发送给 /search/ 这个 URL。...用户通过表单提交的数据 django 为我们保存在 request.GET 里,这是一个类似于 Python 字典的对象,所以我们使用 get 方法从字典里取出键 q 对应的值,即用户的搜索关键词。...这里字典的键之所以叫 q 是因为我们的表单中搜索框 input 的 name 属性的值是 q,如果修改了 name 属性的值,那么这个键的名称也要相应修改。...当然其使用也会复杂一些,以后有机会再写文章向大家介绍 django-haystack 的使用方法。

    12.3K80

    django之文件上传下载等相关

    Django在处理文件上传的时候,文件数据被保存在request.FILES。...然后写文件使用FILE.chunks()方法,而不是使用read()方法,能确保大文件并不会占用系统过多的内存。FILE方法和属性下面介绍。 最后写一个url匹配就可以了: # ....属性(form.files[‘file’]),这是表单提供的属性。...如果是GET请求,就直接显示一个空表单,让用户输入。 注意我们必须向表单的构造器中传递request.FILES,这是文件数据绑定到表单的方法。...在你保存上传文件之前,数据需要储存在某个地方。 通常,如果上传文件小于2.5MB,Django会把整个内容存到内存。这意味着,文件的保存仅仅涉及到从内存读取和写到磁盘,所以非常快。

    3.1K30

    关于“Python”的核心知识点整理大全56

    在1处, 我们定义了一个HTML表单。实参action告诉服务器将提交的表单数据发送到哪里,这里我们将 它发回给视图函数new_topic()。...Django使用模板标签{% csrf_token %}(见2)来防止攻击者利用表单来获得对服务器未经 授权的访问(这种攻击被称为跨站请求伪造)。...修饰符as_p让Django以段落格式渲染所有表单元素,这是一种整洁地显 示表单的简单方式。 Django不会表单创建提交按钮,因此我们在4处定义了一个这样的按钮。 6....在2处,我们定义了属性widgets。小部件(widget)是一个HTML表单元素,如单行文本框、 多行文本区域或下拉列表。通过设置属性widgets,可覆盖Django选择的默认小部件。...如果请求方法为POST,我们就对数据进行处理:创建一个EntryForm 实例,使用request对象中的POST数据来填充它(见4);再检查表单是否有效,如果有效,就设 置条目对象的属性topic,再将条目对象保存到数据库

    13310

    django 1.8 官方文档翻译: 5-1-1 使用表单

    它还告诉浏览器表单数据应该发往 的action 属性指定的URL —— /admin/,而且应该使用method 属性指定的HTTP 方法 —— post。...考虑一下Django 的Admin 站点,不同类型的大量数据项需要在一个表单中准备好、渲染成HTML、使用一个方便的界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...模型和表单 实际上,如果你的表单打算直接用来添加和编辑Django 的模型,ModelForm 可以节省你的许多时间、精力和代码,因为它将根据Model 类构建一个表单以及适当的字段和属性。...每个字段都是表单的一个属性,可以使用{{ form.name_of_field }} 访问,并将在Django 模板中正确地渲染。...可重用的表单模板 如果你的网站在多个地方对表单使用相同的渲染逻辑,你可以保存表单的循环到一个单独的模板中来减少重复,然后在其它模板中使用include 标签来重用它: # In your form template

    4.2K20

    关于“Python”的核心知识点整理大全57

    在请求方法为GET时将执行的if代码块中,我们使用实参instance=entry创建一个 EntryForm实例(见2)。这个实参让Django创建一个表单,并使用既有条目对象中的信息填充它。...然后, 们检查表单是否有效,如果有效,就调用save(),且不指定任何实参(见4)。接下来,我们重 定向到显示条目所属主题的页面(见5),用户将在其中看到其编辑的条目的新版本。 3....如果表单的errors属性被设置,我们就显示一条错误消息(见1),指出输入的用户名—密码 对与数据库中存储的任何用户名—密码对都不匹配。...我们要让登录视图处理表单,因此将实参action设置为登录页面的URL(见2)。登录视图 将一个表单发送给模板,在模板中,我们显示这个表单(见3)并添加一个提交按钮(见4)。...身份验证系统中,每个模板都可使用变量user,这个变量有一个is_authenticated 属性如果用户已登录,该属性将为True,否则为False。

    9110

    评论

    如果表单对应有一个数据库模型(例如这里的评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 Django 为我们提供的方便。...回想一下,我们使用数据库保存我们创建的博客文章,但是我们从头到尾没有写过任何和数据库有关的代码(要知道数据库自身也有一门数据库语言),这是因为 Django 的 ORM 系统内部帮我们做了一些事情。...通过调用这个类的一些方法和属性Django 将自动为我们创建常规的表单代码,接下来的教程我们就会看到具体是怎么做的。...使用 Django 表单的一个好处就是 Django 能帮我们自动渲染表单。...觉得如果琼瑶是前妻,生了三孩子后被一不知名的女人挖了墙角,不信谁会说那个女人是追求真爱,说同情琼瑶骂小三的女人都是弱者。 ...

    3.1K60

    第 14 篇:交流的桥梁“评论功能”—— HelloDjango 系列教程

    如果表单对应有一个数据库模型(例如这里的评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 django 为我们提供的方便。...通过调用这个类的一些方法和属性django 将自动为我们创建常规的表单代码,接下来的教程我们就会看到具体是怎么做的。...-- row --> 这个表单的模板有点复杂,一一讲解一下。 首先 HTML 的 form 标签有 2 个重要的属性action 和 method。...看到 CommentForm 中 Meta 下的 fields,django 会自动将 fields 中声明的模型字段设置为表单属性。...如果用户提交的数据合法,我们就将评论数据保存到数据库,否则说明用户提交的表单包含错误,我们将渲染一个 preview.html 页面,来展示表单中的错误,以便用户修改后重新提交。

    1.6K20

    解决django中form表单设置action后无法回到原页面的问题

    django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转后便会来到192.168.1.128/login...+ Ajax发送POST表单,并将返回信息回显到页面中 将表单数据发送回后端,然后处理后端返回的信息并显示在当前页面中,这里使用Ajax进行处理; 那么先看js代码: <!...(data.message); #将后端返回到结果通过前端页面进行展示 }, #注意标点 }); #需要注意标点符号,如果标点符合错误了,那ajax基本上都不会执行(否则,...import csrf_exempt,否则会出现错误csrf_token错误 (403) 2、request.is_ajax()判断当前是否是使用ajax 进行表单提交 3、django request.POST...{‘name’: [‘夺夺’], ‘limit’: [‘123′] 以上这篇解决django中form表单设置action后无法回到原页面的问题就是小编分享给大家的全部内容了,希望能给大家一个参考

    2.2K10

    简单全文搜索

    表单action 属性的值为 {% url 'blog:search' %}(虽然我们还没有写这个视图函数),表明用户提交的结果将被发送给 blog 应用下 search 视图函数对应的 URL。...用户通过表单 get 方法提交的数据 Django 为我们保存在 request.GET 里,这是一个类似于 Python 字典的对象,所以我们使用 get 方法从字典里取出键 q 对应的值,即用户的搜索关键词...这里字典的键之所以叫 q 是因为我们的表单中搜索框 input 的 name 属性的值是 q,如果修改了 name 属性的值,那么这个键的名称也要相应修改。...接下来我们做了一个小小的校验,如果用户没有输入搜索关键词而提交了表单,我们就无需执行查询,我们就在模板中渲染一个错误提示信息。...这里 icontains 是查询表达式(Field lookups),我们在之前也使用过其他类似的查询表达式,其用法是在模型需要筛选的属性后面跟上两个下划线。

    1.9K60

    Python Django开发 经验技巧总结(一)

    文章目录 1.前后台的数据传递 2.与数据库交互并返回数据的几种比较常用的方法 3.一个表单对应多个按钮解决方案 4.HTML中的表单控件及操作 5.消息框架 message使用 6.日期和时间DateField...为不同按钮添加不同name属性,然后再后台判断name值 <button type="submit...-这个是<em>django</em>中的一个标签,用于防止恶意攻击<em>使用</em>,<em>如果</em>不加入这个标签,会遇到不能提交的问题,处理麻烦一点,建议加上。...需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;<em>如果</em><em>使用</em><em>django</em>自带的admin管理器,那么该字段在admin...auto_now_add: 设置为True时,会在model对象第一次被创建时,将字段的值设置为创建时的时间,以后修改对象时,字段的值<em>不会</em>再更新。该<em>属性</em>通常被用在存储“创建时间”的场景下。

    1.3K10

    Django 博客实现简单的全文搜索

    ,当用户在这个 input 中输入搜索内容并提交表单后,键入的数据会以键值对的形式提交服务器,这个键的名字就是通过 name 属性指定的。...表单action 属性的值为 {% url 'blog:search' %}(虽然我们还没有写这个视图函数),表明用户提交的结果将被发送给 blog 应用下 search 视图函数对应的 URL。...用户通过表单 get 方法提交的数据 Django 为我们保存在 request.GET 里,这是一个类似于 Python 字典的对象,所以我们使用 get 方法从字典里取出键 q 对应的值,即用户的搜索关键词...这里字典的键之所以叫 q 是因为我们的表单中搜索框 input 的 name 属性的值是 q,如果修改了 name 属性的值,那么这个键的名称也要相应修改。...接下来我们做了一个小小的校验,如果用户没有输入搜索关键词而提交了表单,我们就无需执行查询,我们给给用户发一条错误提醒消息,这里使用django messages 应用,这在 交流的桥梁:评论功能中讲过

    69720

    Django Web 极简教程(六)- Django Form(Part A)

    这是参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情 一、Form 表单 普通 Form 表单 表单是在浏览器中用于收集后端需要的信息并提交给后端的一个工具,常见的表单如:登录表单...:action 属性用来定义表单信息提交的地址,method 属性用来定义提交的方式 :输入框,用来收集提交到后端的信息...:提交按钮,类型为 submit Django Form 表单 类似 Flask 集成的 WTForms,Django Form 也可以模拟生成前端的...HTML 表单,而无须手动书写,并且支持表单信息的验证 使用 PyCharm 创建一个新的项目 Django 项目 django_forms,并创建应用 lima 图片 PyCharm 已经自动配置好了模板所在目录...CRUD 操作了 使用 Django 表单代替 HTML 表单 在 lima 应用中新增 forms.py,在该文件中新增一个 RegisterForm 类继承 Form 类 from django

    94610

    django之评论系统及多级评论

    如果表单对应有一个数据库模型(例如这里的评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 Django 为我们提供的方便。...回想一下,我们使用数据库保存我们创建的博客文章,但是我们从头到尾没有写过任何和数据库有关的代码(要知道数据库自身也有一门数据库语言),这是因为 Django 的 ORM 系统内部帮我们做了一些事情。...通过调用这个类的一些方法和属性Django 将自动为我们创建常规的表单代码,接下来的教程我们就会看到具体是怎么做的。...使用 Django 表单的一个好处就是 Django 能帮我们自动渲染表单。...觉得如果琼瑶是前妻,生了三孩子后被一不知名的女人挖了墙角,不信谁会说那个女人是追求真爱,说同情琼瑶骂小三的女人都是弱者。 ...

    6.9K61

    Django学习-第十三讲(下):表单(一)forms.form、forms.modelform

    2.Django表单使用流程 在讲解Django表单的具体每部分的细节之前。我们首先先来看下整体的使用流程。...2.4.django表单提取错误信息 如果验证失败了,那么有一些错误信息是我们需要传给前端的。...', 'code': 'max_length'}]} 那么如果只想把错误信息放在一个列表中,而不要再放在一个字典中。这时候我们可以定义一个方法,把这个数据重新整理一份。...3. django表单的 Modelform 大家在写表单的时候,会发现表单中的Field和模型中的Field基本上是一模一样的,而且表单中需要验证的数据,也就是我们模型中需要保存的。...另外,我们在调用save方法的时候,如果传入一个`commit=False,那么只会生成这个模型的对象,而不会把这个对象真正的插入到数据库中。

    3.2K40

    关于“Python”的核心知识点整理大全55

    如果你刷新显示所有主题的页面,再单击其中的一个主题,将看到类似于图18-5所示的页面。 18.5 小结 在本章中,你首先学习了如何使用Django框架来创建Web应用程序。...我们不想让用户与管理网站交互,因此 们将使用Django表单创建工具来创建让用户能够输入数据的页面。 19.1.1 添加新主题 首先来让用户能够添加新主题。...如果请求方法不是POST,请求就可能是GET, 因此我们需要返回一个空表单(即便请求是其他类型的,返回一个空表单不会有任何问题)。...由于实例化TopicForm时我们没有指定任何实参,Django将创建一个可供用户 填写的空表单如果请求方法为POST,将执行else代码块,对提交的表单数据进行处理。...如果所有字段都有效,我们就可调用save()(见), 将表单中的数据写入数据库。保存数据后,就可离开这个页面了。

    15510
    领券