如何在Django上创建结果(通过/失败)

时间:2010-12-16 22:16:39

标签: django forms

大家好 我有下一个模型

案例,套件 我想通过凯斯。例如我接下来,在我的html模板中:

<form action="" method="post">{%csrf_token%}
            <input type="submit" value="Pass">
            <input type="submit" value="Failed">
        </form>

我想添加关于按下按钮到数据库的信息。我有看法:

def main (request):
    result = Result(id=None, result='Pass', cashe=Case.objects.get(id=3), sudite=Suite.objects.get(id=2) )
    result.save()
    c = {}
    c.update(csrf(request))
    if request.method == 'POST': # If the form has been submitted...
        results = Result(request.POST) # A form bound to the POST data
        if results.is_valid():
         HERE WILL BE CLEANED DATA AND ETC, BUT AT 1st I WANT TO CHECK IT 
            pass
    return render_to_response('main.html', { 
                                             'suites': suites, 
                                             'cases': cases,
                                             'result': result,
                                             'host' : request.get_host()
                                             })

如何制作它。我阅读手册和搜索表单工作正常,但我不知道如何使用其他按钮。

另一个有趣的事情,如果我通过shell,数据成功添加。但如果在localhost / main上重新加载页面,我接下来会:

TypeError at /main/
__init__() got an unexpected keyword argument 'case'

这让我发疯了。

谢谢

1 个答案:

答案 0 :(得分:1)

我发现最简单的方法是将提交按钮设为name - 例如,调用一个pass和一个fail。然后,当您的表单提交后,检查pass中的键failrequest.POST - 您点击的按钮应该在那里,但另一个不会。