我試圖從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