</pre><p></p><pre code_snippet_id="1978383" snippet_file_name="blog_20161110_7_3389750" name="code" class="python">
1、访问URL : 127.0.0.1:8000/post?id=1,得到界面A
2、在页面A里,点击按钮1,访问一个127.0.0.1:8000/user?id=1,跳转到下一个页面B
3、现在需求是,要在B界面里面,加入一个返回上一页的按钮2。
分析,要返回上一页,必须要有上一页的url参数,因为B的上一页A,有get参数传入,不能直接写死为“127.0.0.1:8000/post”。重点在于解决怎么得到这个GET参数
解决:
在访问A界面的时候,视图函数里获取当前完整参数,Django里面调用
fullpath=request.get_full_path()
fullpath="post?id=1"
然后加密
from urllib.parse import urlencode
mypath=urlencode({'',fullpath})[1:]
然后就可以吧mypath当成一个正常的参数传给页面B,放在页面A的按钮1的href上,
从A页面跳转B页面时候,就可以把A页面的路径当成一个正常参数传给B页面,
然后在B页面的视图里,解压这个mypath
from urllib.parse import unquote
oldpath=unquote(mypath)
然后在B页面的返回按钮B上写上这个href,B页面当然就能做个按钮返回A页面啦