来自Firefox的Django模板的GET请求,但不是Chrome

时间:2016-05-07 20:27:33

标签: python django google-chrome django-views django-urls

我是Gjango和Python的新手。这就是我所拥有的:

  1. 应用程序/ urls.py

    urlpatterns = [
        url(r'^upvote/(?P<id>[0-9]+)/$', views.upvote, name='upvote'),
    ]
    
  2. 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/')
    
  3. 在模板中

    <a href="/news/upvote/{{l.id}}/">Up Vote</a>
    
  4. 现在,当我从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
    

    您可以看到正在执行视图功能。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您是否尝试在Chrome中清除缓存?

How to Clear the Cache in Google Chrome