关于在Django中获取URL的问题

时间:2011-07-12 17:38:54

标签: django httpwebrequest django-urls

我有这个页面http://127.0.0.1:8000/user/tom-brandy/

页面上有一个链接http://127.0.0.1:8000/signup/

如何在我的视图中提取tom-brandy以呈现signup页?

我正在考虑使用request.META['HTTP_REFERER']并使用字符串操作来获取它,但这听起来像是错误的方法。

有更好的方法吗?

3 个答案:

答案 0 :(得分:5)

您可以将用户信息显式传递给注册链接作为get参数/signup/?user=tom-brandy

您还可以使用会话在user页面中设置任意变量,并将其拉入注册页面。这可能是最干净,最透明的方法。

('user/(?P<user>[\w-]+)/', 'my.user_view')

def user_view(request, user):
    request.session['last_visited_user_page'] = user
    # ...

def signup_view(request):
    last_visited_user_page = request.session.get('last_visited_user_page')
    # ...

答案 1 :(得分:0)

您可以在网址上使用正则表达式从http://127.0.0.1:8000/signup/tom-brandy中提取tom-brandy并将其作为第一个参数传递到您的注册视图

答案 2 :(得分:0)

您可以根据需要使用HttpRequest.path_infoHttpRequest.path

相关文件:HttpRequest.path_info