我是Gjango和Python的新手。这就是我所拥有的:
应用程序/ urls.py
urlpatterns = [
url(r'^upvote/(?P<id>[0-9]+)/$', views.upvote, name='upvote'),
]
views.py
def upvote(request, id):
print(id)
try:
link = Link.objects.get(id=id)
except:
print('err')
link.vote = link.vote + 1
print(link.vote)
link.save()
return HttpResponseRedirect('/news/')
在模板中
<a href="/news/upvote/{{l.id}}/">Up Vote</a>
现在,当我从Firefox点击此链接时,这是有效的。项目的urls.py文件包含url(r'^news/', include('news.urls')),
,因此此链接有效。我看到了两个打印陈述&#39; views.py函数的输出和该字段的值按预期在我的数据库中递增。但是,从Chromium,我看到一种非常奇怪的行为。该链接有效几次。有时它会在我停顿一下之后起作用。然后它就停止工作了。但是从Firefox开始它每次都有效。清除__pycache__
目录后,我多次重启服务器(不知道相关与否)。
当我从Firefox点击时,我每次都会在Django的内置开发服务器输出中看到以下内容:
[08/May/2016 01:46:58] "GET /news/upvote/2/ HTTP/1.1" 302 0
[08/May/2016 01:46:58] "GET /news/ HTTP/1.1" 200 2778
1
7
1和7是print()语句的输出。但是当我从Chromium点击时,我看到了这一点:
[08/May/2016 01:47:27] "GET /news/ HTTP/1.1" 200 2778
您可以看到正在执行视图功能。我该如何解决这个问题?