gpt4 book ai didi

django - 为什么每次页面查看时我的 Django View 都会被击中两次?

转载 作者:行者123 更新时间:2023-12-04 20:03:26 24 4
gpt4 key购买 nike

我似乎无法为我的生活找到问题。很简单,我有一个从数据库中提取的数据库对象,将它的“ View ”增加一,然后保存。我的 View 显示的是递增的值,但是我的日志显示该值再次递增。

g=Game.objects.filter(slug=slug).distinct()[0]
g.views += 1
g.save()

这是我的日志:
[Fri Oct 29 15:15:49 2010] [error] DEBUG:root:Updating plays
[Fri Oct 29 15:15:49 2010] [error] DEBUG:root:plays: 40
[Fri Oct 29 15:15:50 2010] [error] DEBUG:root:Updating plays
[Fri Oct 29 15:15:50 2010] [error] DEBUG:root:plays: 41

我的观点显示它有 40 次点击。这导致每次刷新时我的 View 都会增加 2:
[Fri Oct 29 15:20:19 2010] [error] DEBUG:root:Updating plays 
[Fri Oct 29 15:20:19 2010] [error] DEBUG:root:plays: 42
[Fri Oct 29 15:20:19 2010] [error] DEBUG:root:Updating plays
[Fri Oct 29 15:20:19 2010] [error] DEBUG:root:plays: 43

关于这可能是什么的任何提示?

编辑:

这是我的看法。我将其简化为核心元素(但它的行为仍然很奇怪)。
def game(request, slug=None):

g=Game.objects.filter(slug=slug)[0]

if g:
comments=GameComment.objects.filter(item=g, parent__isnull=True)
g.plays+=1
g.save()
else:
comments=None

return render_to_response('goto/goto_game.html', {'g': g, 'comments':comments, 'cCount':len(comments) if comments else 0, 'newCCount':0}, request=request)

最佳答案

啊!原来这是一个缺少 url 和 ajax 的问题。这不是收藏夹图标,因为它只会击中根,而不是我的特定 View 。

当我有这样的 AJAX 命令时,问题就出现了:

$.post('{{url("_submitcomment")}}', data, function(data) { ...

并且那个 'url' 无法反转 '_submitcomment' 所以返回一个空字符串。打电话
$.post(''); 

将点击您当前的网址并尝试获取所有内容!

(顺便说一句,我使用的是 Jinja2,所以 url 命令可能看起来与传统的 Django 模板系统不同。)

感谢您的帮助和提示!

关于django - 为什么每次页面查看时我的 Django View 都会被击中两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com