[英]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.