繁体   English   中英

Django RedirectView.as_view无法正常工作

[英]Django RedirectView.as_view not working

以下是urls.py中的条目

urlpatterns = patterns('',
    # Examples:

  url(r'^login/','juicy.views.login'),

  url(r'^mylogin/',RedirectView.as_view(permanent=False,url="http:\\www.google.com")),
  url(r'^admin/', include(admin.site.urls)),

这是我的模板。

<html>
<head>
    <title>Login Page</title>
</head>
<body>

<form action=\mylogin\ method = get>
    <input type="submit" value="Go to Google">
</form>

 </body>
</html>

问题是,每当我单击“转到Google”按钮时,它都会尝试以以下方式打开网址

<code>
"http://localhost:8000/mylogin/%5Cwww.google.com". 
<code>

有趣的是它一直工作到昨天晚上。 我能够去google.com。 清除缓存/ Cookie和其他一些修饰之后,我重新运行服务器,并求回第一个。

任何帮助深表感谢。

您输入的网址不是"http:\\\\www.google.com" 尝试使用斜杠"http://www.google.com"

更准确地说, "\\\\"被解释为一个转义的反斜杠,因此您的明显网址为"http:\\www.google.com" 没有//标记来将方案与主机名分开,它看起来像一个相对URL,应该相对于当前页面进行解析-这正是您所看到的。

完全转义"\\\\"序列(或使用不解释转义序列的原始字符串)无法解决您的问题- "http:\\\\www.google.com"也是相对URL。 我主要是为了解释为什么您在解析的URL中只看到单个%5C序列。 %5C是反斜杠字符的十六进制。

您的表单操作中似乎也有反斜杠-应该为<form action="/mylogin/" method="get">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM