gpt4 book ai didi

python - Django:将用户重定向回两页

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:46 25 4
gpt4 key购买 nike

我的数据库中有多个对象的列表(名为“plp's”),排列在表格中。在每个“plp”元素旁边,我有一个“编辑”按钮来修改该特定条目。

接下来,我将用户重定向到一个新网址,在其中传递该“plp”的 id,并显示用于编辑它的表单,并带有“保存”按钮。

按下“保存”(即 request.POST)后,我想将用户重定向回第一个网址,并在一个列表中列出所有“plp”对象的列表。这意味着他第一次按“编辑”的网站。

我可以以某种方式保存点击“编辑”的网址,并将其传递给我的views.py吗?

谢谢

listdns.html:
<td>
<a href='{% url "plpuredi" plp_id=pos.id %}' class="btn btn-primary btn-sm">Uredi</a>
</td>

url.py:

rl(r'^(?P<plp_id>\d+)/uredi$', plp_list_uredi,name="plpuredi")

views.py:

def plp_list_uredi(request, plp_id=None):
moj_plp=PLPPostavka.objects.get(id=plp_id)
form=PLPPostavkaForm(request.POST or None,request=request,dns=moj_plp.dns, instance=moj_plp)
context ={
'plp':moj_plp,
'form':form,
}
if request.POST:
if form.is_valid():
plp = form.save()
return redirect(request.path)
return render(request, "plp_pos/uredi.html",context)

uredi.html

<form action="" method="POST">
{% csrf_token %}
<div class="box">
<div class="box-header">
<h4 class="box-title">
Urejanje PLP Postavke
</h4>
</div>
<div class="box-body">
{% for field in form %}
<div class="form-group">
<label for="{{ field.id_for_label }}" class="col-md-2 control-label detail">{{ field.label }}</label>
<div class="col-md-10">
{% if field|field_type == "datefield" %}
{% render_field field class+="form-control dateinput" %}
{% else %}
{% render_field field class+="form-control" %}
{% endif %}
</div>
</div>
{% endfor %}
</div>
<div class="box-footer">
<div class="box-tools pull-right">
<input type="submit" value="Shrani" class="btn btn-primary" />
</div>
</div>

最佳答案

您不是只有 1 页来编辑所有元素吗?然后你也许可以对链接进行硬编码,例如

return HttpResponseRedirect(my_edit_url)

如果这不起作用并且您需要返回 2 页,请查看这篇文章: How to redirect to previous page in Django after POST request

关于python - Django:将用户重定向回两页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45386575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com