我有这个页面http://127.0.0.1:8000/user/tom-brandy/
。
页面上有一个链接http://127.0.0.1:8000/signup/
。
如何在我的视图中提取tom-brandy
以呈现signup
页?
我正在考虑使用request.META['HTTP_REFERER']
并使用字符串操作来获取它,但这听起来像是错误的方法。
有更好的方法吗?
答案 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_info
或HttpRequest.path
。