Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django在提交时处理views.py中的表单数据_Python_Django_Django Forms - Fatal编程技术网

Python Django在提交时处理views.py中的表单数据

Python Django在提交时处理views.py中的表单数据,python,django,django-forms,Python,Django,Django Forms,我想处理我的表单数据,并查看和更新我的mongo数据库(如果名称不存在),如果名称存在,则更新数据库。 在那之前,我想确定整个主题是否正确。。使用一些正则表达式 但当我在下面的表单代码中添加名称和主题时,什么都没有发生。 如何查看表单数据并进行适当的检查? 我应该在哪里在views或form.html中进行输入验证 如果输入的数据格式不正确,是否抛出错误?我该怎么做 form_template.html <div class="container"> <div class="c

我想处理我的表单数据,并查看和更新我的mongo数据库(如果名称不存在),如果名称存在,则更新数据库。 在那之前,我想确定整个主题是否正确。。使用一些正则表达式

但当我在下面的表单代码中添加名称和主题时,什么都没有发生。 如何查看表单数据并进行适当的检查? 我应该在哪里在views或form.html中进行输入验证

如果输入的数据格式不正确,是否抛出错误?我该怎么做

form_template.html

<div class="container">
<div class="col-md-5">
    <div class="form-area">
        <form id="add-form" method="POST" action="{% url 'myapp:add_data' %}" role="form">
        <br style="clear:both">
                    <h4 style="margin-bottom: 25px; text-align: center;"> New Data</h3>
                                <div class="form-group">
                                                <input type="text" class="form-control" id="name" name="name" placeholder="Name" required>
                                        </div>
                                        <div class="form-group">
                                                <input type="text" class="form-control" id="sub_list" name="sub_list" placeholder="Sub List comma separated" required>
                                        </div>
                                         <button type="button" id="submit" name="submit" class="btn btn-primary pull-right">Submit Form</button>
        </form>
    </div>
    </div>
</div>
</div>
下面是我的视图函数

def add_data(request):
    print "Herfe"
    if request.POST:
        print "coming here"
        I want validate user entered input is proper
        messages.success(request, 'Form submission successful')
        return render(request, '/index.html')

您可以使用
request.POST.get()
从模板中获取数据,然后对其进行预处理

所以在你的情况下,它就变成了

def add_data(request):
    print "Herfe"
    if request.POST:
        print "coming here"
        data = request.POST.get('name')
        # now validate to your heart's content
        messages.success(request, 'Form submission successful')
        return render(request, '/index.html')
另一方面,我认为您错过了django中
表单的好处。如果正确使用API,您可以轻松地传递值并使用内置方法验证它们。在这种情况下,它将成为

form = YourForm(request.POST)
if form.is_valid():
    form.save()
    your_variable = form.cleaned_data['name'] # validates for malicious data automatically
    # Now you can do further validations accordingly.

但是当我点击submit时,它应该会出现在add_data()中,并在这里打印。。但它不是印刷品。。所以我仍然很困惑,如果我错过了任何东西是的,如果我想使用表单,我应该做什么更改??任何使用表单API示例链接的简单django表单流程??我可以使用。有很多使用Forms API的教程。django官方的表单教程足以让您对表单的功能有一个基本的了解。我已经在我的回答中联系了这一点:)
form = YourForm(request.POST)
if form.is_valid():
    form.save()
    your_variable = form.cleaned_data['name'] # validates for malicious data automatically
    # Now you can do further validations accordingly.