我有以下观点:
def copy_group(request):
copy = request.GET.get('copy','')
if copy:
#do my copy process
context = {'view':'copy-view'}
return render(request, 'groups/copy-view.html', context)
使用以下网址调用mysite.com/groups/?copy=1
问题在于,如果我刷新页面,我的过程会一遍又一遍地复制。
如何删除ge参数,以便url在复制后返回: mysite.com/groups /
我尝试在我的视图代码中插入它:
request.GET.pop('copy')
但是我得到错误:这个QueryDict实例是不可变的
答案 0 :(得分:1)
如果我理解得很清楚,一旦你完成了复制,你就希望重定向页面,这样就不会再复制了。那样做:
...
if copy:
the actual copy and then...
return HttpResponseRedirect(redirect_to='/the-path-without-copy-parameter/')
...
然后你可以改进你的代码:
BTW,我不确定你为什么使用Get参数而不只是一个不同的URL?
答案 1 :(得分:0)
我最后做了重定向。这将删除get参数。