如果名称不存在,我想处理表单数据并查看和更新我的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>
myapp / url.py
url(r'^new_data$', views.add_data, name='add_data'),
下面是我的视图功能
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')
答案 0 :(得分:0)
您可以使用request.POST.get(<name>)
从模板中获取数据,然后对其进行预处理。
因此您的情况就变成了
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中forms
的好处。如果正确使用forms 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.