django获取查询字符串中的完整url
我正在尝试实现重定向脚本。 url的格式为django获取查询字符串中的完整url,django,django-views,Django,Django Views,我正在尝试实现重定向脚本。 url的格式为 http://localhost:8000/key/url=http://google.com 从上面,我想要http://google.com 当一些用户访问上述url时,它会点击url.py中定义的url模式 url(r'^key/url=(.*)', 'homepage.views.redirectquerystring', name="Redirect"), 我正在尝试获取urlhttp://google.com使用下面的视图 def re
http://localhost:8000/key/url=http://google.com
从上面,我想要http://google.com
当一些用户访问上述url时,它会点击url.py中定义的url模式
url(r'^key/url=(.*)', 'homepage.views.redirectquerystring', name="Redirect"),
我正在尝试获取urlhttp://google.com
使用下面的视图
def redirectquerystring(request):
para = request.GET.get('url','')
但当我这样做时,我得到了以下错误:
TypeError at /key/url=http://google.com
redirectquerystring() takes exactly 1 argument (2 given)
我是不是犯了什么错误
谢谢。这比你想象的要简单得多 您正在尝试通过
http://google.com
作为参数,但您没有给视图提供接收该参数的位置
您需要将视图定义为def redirectqyrysting(请求,url):
您现在不需要从请求中获取url,它已经存在于变量
url
中,这比您想象的要简单得多
您正在尝试通过http://google.com
作为参数,但您没有给视图提供接收该参数的位置
您需要将视图定义为def redirectqyrysting(请求,url):
您现在不需要从请求中获取url,它已经存在于变量url
中。您应该使用urlpatterns regex“捕获”url参数,如下所示:
url(r'^key/url=(?P<url>.*)', 'homepage.views.redirectquerystring', name="Redirect"),
url(r'^key/url=(?P.*),'homepage.views.redirectquerystring',name=“Redirect”),
这样,视图将接收一个名为url
的参数,其中包含捕获的url get param。您应该使用urlpatterns regex“捕获”url param,如下所示:
url(r'^key/url=(?P<url>.*)', 'homepage.views.redirectquerystring', name="Redirect"),
url(r'^key/url=(?P.*),'homepage.views.redirectquerystring',name=“Redirect”),
通过这种方式,您的视图将收到一个名为
url
的参数,其中包含捕获的url get param。谢谢您的回答aalizadeh。def redirectquerystring(request,url):
django很漂亮,不是吗?谢谢您的回答aalizadeh。def redirectquerystring(request,url):
django很漂亮,不是吗?