我试图从Django中的表单发布数据,当我点击提交它不进入POST。我已经使用Django完成了一些POST,并且它们工作正常。在这里,第一次渲染模板进入NO POST,这是正确的。但是,当提交表单时,它表示“无效”。Django窗体无效
urls.py
url(r'^traps/view/', 'servicios.views.viewtraps'),
forms.py
class LimitQueryForm(forms.Form):
limit = forms.CharField(label='Nº de Resultados a Mostrar', max_length=250)
模板
<form action="/services/traps/view/" method="post">{% csrf_token %}
{{ form_limit }}
<button type="submit" value="btn_limit_val" name="btn_limit_name">Aceptar</button>
</form>
六ews.py
def viewtraps(request):
connect_mysql = mdb.connect(*)
cursorMYSQL = connect_mysql.cursor(mdb.cursors.DictCursor)
cursorMYSQL.execute("""select eventname,eventid,trapoid,enterprise,community,hostname,agentip,category,severity,uptime,traptime,formatline,timestamp from snmptt order by id desc limit 500""")
b = cursorMYSQL.fetchall()
connect_mysql.close()
form_limit = LimitQueryForm()
if request.method == 'POST':
if form_limit.is_valid():
limit = "VALID"
dictionary = RequestContext(request, {"buffer_data": b, "form_limit": form_limit, "limit": limit})
return render_to_response("viewtraps.html", dictionary)
else:
limit = "NOT VALID"
dictionary = RequestContext(request, {"buffer_data": b, "form_limit": form_limit, "limit": limit})
return render_to_response("viewtraps.html", dictionary)
else:
limit = "NO POST"
dictionary = RequestContext(request, {"buffer_data": b, "form_limit": form_limit, "limit": limit})
return render_to_response("viewtraps.html", dictionary)
我知道一些用户告诉我,我不应该使用Django这样,还有为什么我做这种方式的原因,请避免评论,由于这不是问题马上。谢谢!
什么'form_limit.errors'说? – Sayse
你是说如果我把它放在这里我得到了什么? '<形式行动= “/服务/陷阱/视图/” 方法= “POST”> {%csrf_token%} {{form_limit.errors}} {{form_limit}} <按钮类型=“提交“value =”btn_limit_val“name =”btn_limit_name“> Aceptar ' –
或者只是检查您的调试器窗口... theres表单上的一个字段,说明有什么错误。最有可能的原因是您的表单限制是表单的新实例,没有您的任何值传入它 – Sayse