0

我在编码和弄清楚如何将一个值作为表单的用户输入的答案进行比较,并使用该输入将其与 eval(puzzle) 进行比较,这个难题是一个简单的表达式,如 2+2

这是一些代码。

网址:很好。

意见:

默认播放(请求):

if request.user.is_authenticated():
    number_of_records = Puzzles.objects.count()
    random_index = int(random.random()*number_of_records)+1
    rand_puzz = Puzzles.objects.get(id = random_index).puzzle
    solution = eval(rand_puzz)
    if solution = request.GET['a']:
       message = "correct"
       return render(request, 'play.html', {'rand_puzz': rand_puzz, 'message':message})
    else: 
       message = "incorrect"
    return render(request, 'play.html', {'rand_puzz': rand_puzz, message':message})
else:
    return render_to_response('home.html')

HTML:

    <form action= '/play/' method ="GET">
        <table style="margin-left:auto; margin-right:auto; width:auto;">
<table style="margin-left:auto; margin-right:auto; width:auto; border:solid 1px">
<tr><td><label for="username">Question:</label></td>
<td>{{rand_puzz}}</td></tr>
    <td><input type="number" name="a" value="a" id="a"></td></tr>
    <td>{{solution}}</td></tr> 
     <td> Your answer is:{{message}}</td></tr>
<tr><td></td><td><input type="submit" value="submit"/></td></tr>
</table>
        </table>
    </form>
  </div>  
4

1 回答 1

0

我不知道它是否能解决你的问题,但更换

from django.shortcuts import get_object_or_404

rand_puzz = Puzzles.objects.get(id = random_index).puzzle
by
rand_puzz = get_object_or_404(Puzzles,id = random_index)
于 2013-08-13T07:01:31.910 回答