我最近将我的 django 框架从 1.3 升级到了 1.4。今天我在登录页面上进行了一些测试。我有一个开关,用于确定是否应在登录屏幕上显示“重置密码”链接。该测试在 1.3 下运行良好,但在 1.4 下运行良好。
我为登录页面设置了自己的视图和模板,如下所示:
urlpatterns = patterns('framework.views',
url(r'^$', 'index'),
url(r'^login/$', 'login_view'),
url(r'^logout/$', 'logout_view'),
...
经过进一步调查,我注意到如果我第一次浏览到登录页面,它就可以工作。如果我随后从我的 urls.py 文件中删除条目(即 /login/ 条目),我仍然可以浏览到 /login/ 页面。即使我重新启动 django 测试服务器,该 url 条目仍然有效。即使删除 urls.pyc 文件也不会给我 404。只有当我尝试发布时,我才会得到 404。顺便说一下,我的其他一些 url 不会发生这种现象。
我有一种感觉,我的测试失败的原因是 django 以某种神秘的方式缓存了 /login/ 请求,因此我在屏幕上运行的每个测试都不会刷新登录页面。有谁知道如何克服这个问题,也许还有为什么这个特定的功能已经改变了。它与新实现的模板响应有什么关系吗??