保留原页面的参数条件
保留原页面搜索条件
实现方式一:
列表页面:
获取当前所有条件,添加到
- 编辑按钮的URL后面
- 添加按钮的URL后面
编辑或添加页面:
- POST提交时,获取原来列表页面传过来的条件
- 拼接URL /hosts/?原来的条件
list页面:
list_condition = request.GET.urlencode()
{% for item in host_list %}
<li>{{ item }} <a href="/edit/54/?{{ list_condition }}">编辑</a></li>
{% endfor %}
add/edit页面:http://127.0.0.1:8000/edit/10/?page=5&id__gt=4
def edit_host(request,pk):
if request.method == "GET":
return render(request,'edit_host.html')
else:
# 修改成功 /hosts/?page=5&id__gt=4
url = "/hosts/?%s" %(request.GET.urlencode())
return redirect(url)
实现方式二:
list页面: http://127.0.0.1:8000/hosts/?page=5&id__gt=4
params = QueryDict(mutable=True) #如果是对象调用该方法(需要加下划线):params._mutable = True
params['_list_filter'] = request.GET.urlencode()
list_condition = params.urlencode()
{% for item in host_list %}
<li>{{ item }} <a href="/edit/54/?{{ list_condition }}">编辑</a></li>
{% endfor %}
add/edit页面:http://127.0.0.1:8000/edit/54/?_list_filter=page%3D5%26id__gt%3D4
def edit_host(request,pk):
if request.method == "GET":
return render(request,'edit_host.html')
else:
# 修改成功 /hosts/?page=5&id__gt=4
url = "/hosts/?%s" %(request.GET.get('_list_filter'))
return redirect(url)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步