1

我希望将斜杠后的整个 url 传递给脚本。如果我做 :

url(r'^(?P<id>.*)$', alias.get, name="alias"),

然后我只得到路径组件,而不是传递给我的函数的查询参数。然后我必须:

def urlencode(dict) :
    如果 len(dict) == 0 : 返回 ""
    参数 = {}
    对于 dict.items() 中的 k,v:
        参数[k] = v.encode('utf-8')

    返回 ”?” + urllib.urlencode(参数)

定义获取(ID):
    id += urlencode(request.GET)

我这样做是为了我的很多观点,我一直忘记它并制造错误。有没有办法告诉我的 urls.py 匹配包括查询字符串在内的所有内容?

4

2 回答 2

3

在您的视图中,您可以获取包含查询字符串的 URL request.get_full_path()

request.build_absolute_uri()如果你想包含http://servername.com部分,还有。

于 2009-06-05T10:29:16.703 回答
1

不,没有办法做到这一点。GET 参数不会传递给 urls.py。

我想知道为什么你需要这样做。为什么您的许多视图都依赖于 GET 查询字符串?为什么不使用 Django 的做事方式,也就是让参数成为 URL 本身的一部分,而不是作为查询字符串。

于 2009-06-05T10:30:35.827 回答