有没有人遇到过这个问题?我有一个详细视图,当我第一次单击它时 - 我希望显示的所有内容都可以。但是,如果我刷新页面 (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,...}
网址:
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 都返回“发布这个”
- 在第二次刷新时,q2 按预期返回,q3 返回“Post this”
- 在第三次刷新时,q2 和 q3 按预期返回。
更新
我找到了一个解决方案,@never_cache
在视图的顶部添加完全消除了这个问题,这表明当我使用硬刷新时缓存发生了一些奇怪的事情。有什么想法吗?