GjangoとPythonはかなり新しくなっています。ここで私が持っているものです。DjangoのテンプレートからのGETリクエストは、Firefoxでは動作しますが、Chromeでは動作しません。
アプリ/ 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')),
が含まれているため、このリンクが機能します。 view.py関数からの2つのprint文の出力を見ることができ、このフィールドの値はデータベース内で予想通りに増加します。しかし、クロムから、私は非常に奇妙な動作を参照してください。リンクは数回働きます。私は大きな休止を取った後で動作することがあります。その後、それは単に動作を停止します。しかし、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は、印刷()ステートメントの出力であることを。 Chromiumからクリックすると、次のように表示されます。
[08/May/2016 01:47:27] "GET /news/ HTTP/1.1" 200 2778
表示されているとおり、表示機能は実行されていません。これを解決するにはどうすればよいですか?
号は、これはサーバー側の問題ではないですか?私はブラウザのキャッシュがそれと関係がないとは思わない。しかし、私はChromiumのキャッシュをクリアする予定です。そしてあなたに知らせるでしょう。 – xparadigm
私はChromeでJekyllサーバーと同様の動作をしています。違いがあれば教えてください。また、干渉しているプラグインがある場合は、シークレットモードを試してください。 –