0

誰かが以前にこの問題に遭遇したことがありますか?私はそれを最初にクリックしたときに、私が表示することを期待するすべてのものが表示される詳細ビューを持っています。ただし、ページを更新(ctrl + F5)したり、ページから離れたり戻ったりすると、ページの一部だけが再び表示されます。

これが私の見解の簡単な例です:

@login_required(login_url='/login/')
def detail(request, id):
    queryset1 = ...filter(id = id).values().get() 
    queryset2 = ...filter(id = id)
    queryset3 = ...filter(id = id) 
    return render_to_response('template.html',{'q1':queryset1,...}

URL:

urls = ('',
    url(r'^respondent-detail/(?P<id>\d+)/$', 'myapp.views.detail',name='detail'),
)

意見:

{% include 'includes/header.html' %}
{% include 'includes/navigation.html' %}
{{ q1.x }}
{{ q1.y }}
{{ ...}} 

{% if q2 %}
    {% include 'q2.html' %}
{% else %}
    <p>Post this 2</p>
{% endif %}     

{% if q3 %}
    {% include 'q3.html' %}
{% else %}
    <p>Post this 3</p>
{% endif %} 
  • 最初の更新時に、q2とq3の両方が「これを投稿」を返します
  • 2回目の更新で、q2は期待どおりに戻り、q3は「Postthis」を返します。
  • 3回目の更新で、q2とq3は期待どおりに戻ります。

アップデート

私は解決策を見つけました。ビューの先頭に追加@never_cacheすると問題が完全に削除され、ハードリフレッシュを使用するとキャッシュに何か奇妙なことが起こっていることが示唆されます。何かご意見は?

4

1 に答える 1

0

django-debug-toolbardjango-debug-cache-panelまたはの両方を使用して、django-cache-panelほとんどの非自明なキャッシュの問題を嗅ぎ分けることができました。ツールバーをロックして、特定の IP にのみ表示されるようにすることができます。

于 2013-02-24T14:04:06.630 に答える