Python “怎么说?”;行动“;属性在Django表单中工作?

Python “怎么说?”;行动“;属性在Django表单中工作?,python,html,django,Python,Html,Django,我已经学习了Django中的表单(从头开始并使用ModelForm)。ModelForm非常有用 我可以对整个过程进行编码,但有一件事让我感到困惑,那就是模板上表单标记中的“action=”属性 这是我的困惑。我使用'method'属性,但我见过有人使用action='/example_path/'。这意味着什么?它在Django是如何工作的?只使用“method=post”属性可以吗 饮料\u form.html: {% extends 'robots/base.html' %}

我已经学习了Django中的表单(从头开始并使用ModelForm)。ModelForm非常有用

我可以对整个过程进行编码,但有一件事让我感到困惑,那就是模板上表单标记中的“action=”属性

这是我的困惑。我使用'method'属性,但我见过有人使用action='/example_path/'。这意味着什么?它在Django是如何工作的?只使用“method=post”属性可以吗

饮料\u form.html:

    {% extends 'robots/base.html' %}
    {% load static %}

    {% block content %}

        <h3 class="main-title">Let us know your opinion of a drink of choice: 
        </h3>

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

    {% endblock %}
{%extends'robots/base.html%}
{%load static%}
{%block content%}
让我们了解您对所选饮料的看法:
{%csrf_令牌%}
{{form.as_p}}
{%endblock%}
我填写表格,点击提交按钮,出现“感谢页面”,一切正常

它似乎工作正常,实例正在创建并保存在我的“饮料”表中。我进入pythonshell,列出从我的饮料类创建的所有对象,它们就在那里

另外,我在我的管理站点中包含了这个表,它们保存起来没有问题

“action”属性具体做什么?我知道这可能是一个noob HTML问题,但我6个月前才开始编码,所以请容忍我

     <form action='' method='post'>
     #...
     </form>

#...

谢谢大家。希望我的问题是清楚的。

操作是基本的HTML内容(请参阅:)。 它定义了浏览器将发布或获取(取决于方法)已填写表单的URL。现在,如果该值为空,它将使用与当前浏览器位置栏中相同的URL

在Django术语中,将操作留空,它将把数据发布到相同的URL,因此通常是相同的视图。因此,您必须在视图中检查
request.POST
request.GET
中是否有内容,以了解用户是否是第一次加载视图或发布表单。例如,UpdateView()将自动执行此操作


一个好习惯是在成功发布后重定向用户,这样页面重新加载就不会再次发布表单。

发布所有代码使您很难理解自己在做什么,您需要做一个遗嘱,我的错。它告诉表单将数据发送到哪里。基本上,“操作”只是将用户呈现或重定向到一个新的html模板,从而在屏幕上显示一个新页面?在我看来,在数据验证部分之后,我使用了“Httpresponseredirect('/Thank message/')”,这是我希望用户在单击submit按钮后看到屏幕上呈现的html模板的路径。很抱歉我的无知,但在django文档中找不到关于这方面的信息。我将查看您提供的链接,谢谢。