Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django恢复为默认URL_Django - Fatal编程技术网

Django恢复为默认URL

Django恢复为默认URL,django,Django,我正在使用Django 1.6.4,我构建了一个登录系统,在浏览器中按下“后退”按钮之前,该系统似乎一直在运行。给我合适的URL是http://127.0.0.1:8000/login。这是我的项目URLconf: urlpatterns = patterns('', (r'', include('apps.mylogin.urls')), ) (在Django的老手们指出空的正则表达式模式之前:)-我已经尝试了许多在互联网站上建议的不同模式:(“^',“^$”),甚至尝试将应用程序的

我正在使用Django 1.6.4,我构建了一个登录系统,在浏览器中按下“后退”按钮之前,该系统似乎一直在运行。给我合适的URL是
http://127.0.0.1:8000/login
。这是我的项目URLconf:

urlpatterns = patterns('',
    (r'', include('apps.mylogin.urls')),
)
(在Django的老手们指出空的正则表达式模式之前:)-我已经尝试了许多在互联网站上建议的不同模式:(
“^',“^$”
),甚至尝试将应用程序的URLconf移动到项目的URLconf中,所有这些模式似乎都产生了这个错误。当然,如果你在这段代码中发现了恶作剧,请随意指出,我喜欢最佳实践:D)

包含在include中的URLconf如下所示:

urlpatterns = patterns('apps.mylogin.views',
    url(r'^login/$', 'login', name='login'),
    url(r'^logged_in/$', 'logged_in', name='logged_in'),
)
假设我登陆登录页面,我没有输入任何信息,我只是点击提交;我创建的LoginForm类(在clean方法期间)将返回一个
raisevalidationerror
。一切都按预期进行:所有适当的错误都会显示给用户,生活是美好的。。。直到我按下后退按钮。正是在这一点上,我看到一个捕获的404页面,上面说这是一个发送到
的GET请求http://127.0.0.1:8000/login
读取以下内容:

Using the URLconf defined in myproject.urls, Django tried these URL patterns, in this order:
^admin/
^account/
The current URL, login/, didn't match any of these.
我假设这些URL是Django定义的“基本”集合的一部分;这很好,但我很好奇为什么它似乎忘记了我的URL,突然找不到我刚才所在的位置


非常感谢您提供的任何帮助,如果需要任何其他信息,请告诉我,我将尝试编辑此问题以反映它。

在对该问题进行额外测试和思考后,似乎存在缓存机制冲突。冲突似乎是在使用某些Safari扩展时产生的,导致了信息的注入;实际上,它使用的是之前运行过的几个教程中的代码


通过测试Chrome、Firefox和Safari,我得出了这个结论,除了默认配置之外,没有任何扩展或增强。只有当我返回Safari并启用某个特定的扩展时(更荒谬的是,这个特定的扩展并没有阻止我的桌面…很可能有其他扩展与此相关)我收到捕获的404错误以及看似注入的
^account/

没有django定义的“基本”URL。所有定义的ROOT_URLCONF都是您得到的。首先,
http://127.0.0.1:8000/login
应该失败,因为您只有
http://127.0.0.1:8000/login/
定义为登录url(带尾随斜杠)。第二,只是附带信息,不要在指向包含URL的正则表达式中使用
$
$
匹配字符串的结尾,这意味着如果正则表达式匹配,则任何内容都将保留以供包含。最后,请再次检查是否使用了正确的urlconf。除非您定义它,否则不应该有任何
管理员
帐户
。这就是为什么对我来说很奇怪,^accounts/在我的项目中的任何地方都没有定义。我在全目录中搜索了“帐户”,但什么也没有出现。据我所知,root_url设置为myproject.url。你能把你的源代码树推到公共存储库吗?事实上,我不认为我必须这样做。。。回家后,我把项目复制到另一个盒子里,决定做一些深入的调试,然后。。。好。。。它“按原样”工作:-/很明显,我的笔记本电脑上有一些冲突,导致它以我无法理解的方式出现问题。谢谢你的帮助,艾尔瓦德!:)我认为你还没有找到问题的真正根源。Django是服务器端应用程序,它仅通过HTTP协议与浏览器交互。浏览器,甚至是任何扩展,都无法向django应用程序“添加”URL。可能有浏览器的缓存、重定向,以及任何看起来可疑的东西,但您的浏览器肯定不会更改您的python代码。没错,很抱歉,我有一段时间没有回来反映这一点-休假等等。:)我在硬盘上仔细考虑了一下,并得出结论,可能是某些缓存通过上述扩展之一被破坏了。我将很快调整它以反映此信息。