Ich habe eine Liste von mehreren Objekten aus meiner Datenbank (namens "plp's"), in einer Tabelle angeordnet. Neben jedem "plp" -Element habe ich eine Schaltfläche "Bearbeiten", um diesen bestimmten Eintrag zu ändern.Django: Umleitung Benutzer zwei Seiten zurück
Als nächstes leite ich den Benutzer auf eine neue URL, wo ich die ID des "plp" übergeben, und zeigen Sie das Formular, um es zu bearbeiten, mit einem "Speichern" -Button.
Nach dem Drücken der "Speichern", die Request.POST ist, möchte ich den Benutzer zurück zur ersten URL, mit der Liste aller "Plp" Objekte in einer Liste. Das heißt auf die Seite, wo er zuerst "Bearbeiten" gedrückt hat.
Kann ich die URL, auf die der "Edit" geklickt wurde, irgendwie speichern und an meine views.py weitergeben?
Danke
listdns.html:
<td>
<a href='{% url "plpuredi" plp_id=pos.id %}' class="btn btn-primary btn-sm">Uredi</a>
</td>
urls.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>
geben Sie Ihre models.py, urls.py und views.py –
Code einschließen innerhalb des Beitrags bitte – UmarZaii
ich denke, Sie müssen nur ändern Zeile: 'return redirect (request.path)' und verwenden Sie httpredirect zu url Sie möchten umleiten zu – Gahan