总体而言,我对django和web开发非常陌生,所以请容忍我。在
我已经为我的本地足球队创建了一个带有MySQL后端的简单站点,并希望创建一个页面来更新游戏的分数(存储在表中),只需单击一个按钮(将当前分数增加+1)。 我毫不怀疑,这是超简单的,但经过几个星期的类似帖子,似乎没有什么对我有用(至少我无法理解)。在
我有一个模板,可以创建一个按钮,该按钮包含需要更新的记录的ID:
<a href="{% url livegame_update %}?value={{stat.id}}?updatetype=goals" class="btn btn-success" role="button" onclick="alert({{stat.id}})" id={{stat.id}}>Goal</a>
指向以下URL:
^{pr2}$反过来执行这个功能的视图
def livegame_update(request):
StatID = request.GET.get('value','1')
StatType = request.GET.get('updatetype','1')
SQL = "update players_statistics set " + StatType + " = " + StatType + " + 1 where id = " + StatID + ";"
#stat_edit = statistics.objects.get(id=StatID)
#stat_edit.goals = stat_edit.goals + 1
#stat_edit.save() # save object
cursor = connection.cursor ()
cursor.execute (SQL)
connection.commit()
cursor.close ()
connection.close ()
return render_to_response
最终,上面的SQL最终将是: “更新球员统计数据set goals=goals+1,其中id=99”
我试过几种方法:
最终,我觉得问题出在URL和请求与视图之间的参数传递上?!?!在
任何帮助将不胜感激,一些简单的例子将是惊人的。在
谢谢
嗯。。。首先,我不明白你为什么要创建光标之类的东西。在
我会用我能想象得到的最简单的方式来帮助你。在
创建模型
第2步-网址.py/有,但有些零件不见了
^{pr2}$说明:如您所见,您的url现在将match_id作为传递到视图的参数。带有[\d]+的部分表示它必须是一个数字,加上表示不限数量。在
第3步-您的视图(更新)
所以简单地说就是:找到一个匹配对象,其id在参数(Match\u id)中给出。如果找不到它,请返回到模板,并传递带错误的dict。如果它存在,将你的目标字段增加一个。然后保存对象。最后回到你的模板按钮和东西。在
清楚了吗?你需要用上面的代码解释什么吗?在
相关问题 更多 >
编程相关推荐