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