Python Django表单无效

Python Django表单无效,python,django,forms,Python,Django,Forms,我试图在Django中发布表单中的数据,但当我单击submit时,它不会进入帖子。我已经用Django写了一些帖子,它们工作得很好。在这里,第一次呈现模板时,它会进入NO POST,这是正确的。但是,当提交表单时,它会说无效 url.py forms.py 模板 我知道一些用户告诉我,我不应该这样使用django,我这样做是有原因的,请避免评论,因为这不是现在的问题。谢谢 问题在于初始化表单_limit,该表单是在不读取请求参数的情况下创建的。请尝试: if request.method ==

我试图在Django中发布表单中的数据,但当我单击submit时,它不会进入帖子。我已经用Django写了一些帖子,它们工作得很好。在这里,第一次呈现模板时,它会进入NO POST,这是正确的。但是,当提交表单时,它会说无效

url.py

forms.py

模板


我知道一些用户告诉我,我不应该这样使用django,我这样做是有原因的,请避免评论,因为这不是现在的问题。谢谢

问题在于初始化
表单_limit
,该表单是在不读取请求参数的情况下创建的。请尝试:

if request.method == 'POST':
    form_limit = LimitQueryForm(request.POST)
    ...
else:
    form_limit = LimitQueryForm()
供参考:

清洁剂

def viewtraps(request):
    # ... db connections        
    form_limit = LimitQueryForm(request.POST or None) #<--- this was your typo
    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)

    dictionary = RequestContext(request, {"buffer_data": b, "form_limit": form_limit, "limit": limit})
    return render_to_response("viewtraps.html", dictionary)
def视窗(请求):
# ... 数据库连接

form_limit=LimitQueryForm(request.POST或None)#
form_limit.errors
说什么?你是说如果我把它放在这里,我会得到什么<代码>{%csrf\u令牌%}{{form\u limit.errors}}{{form\u limit}}Aceptar
或检查调试器窗口。。。表单上有一个字段,说明有哪些错误。最可能的原因是表单限制是表单的新实例,没有传入任何值。我如何检查调试器??什么是新实例?这取决于您使用的IDE,大多数IDE都有设置断点和查看值的方法。
<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> 
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)
if request.method == 'POST':
    form_limit = LimitQueryForm(request.POST)
    ...
else:
    form_limit = LimitQueryForm()
def viewtraps(request):
    # ... db connections        
    form_limit = LimitQueryForm(request.POST or None) #<--- this was your typo
    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)

    dictionary = RequestContext(request, {"buffer_data": b, "form_limit": form_limit, "limit": limit})
    return render_to_response("viewtraps.html", dictionary)