Das glaube, ich versuche zu tun ist, um auf die gleiche Seite wo Benutzer war, wenn ein Element gelöscht wurde. Nach dem Löschen mit "django.views.generic.edit" (DeleteView) kann ich alle benötigten Informationen im Modell sammeln und die spezifische Kategorie, die ich brauche. Die Frage ist, wie kann ich diese Anfrage URL erstellen gehen?Django Redirect zu Vorlage Modell übergeben
So kann ich zu http://127.0.0.1:8000/productlist/floor/
<a class="dropdown-item" href="{% url 'productlist' 'floor' %}" >
views.py
class LampDelete(DeleteView):
model = Lamp
#success_url = reverse_lazy('index')
def get_success_url(self):
categ = self.object.category
lamps = Lamp.objects.filter(category=categ)
return redirect('productlist', {'lamps': lamps})
urls.py
urlpatterns =[
url(r'^$', views.index, name='index'),
url(r'^productlist/([a-z0-9]+)/$', views.productlist, name='productlist'),
url(r'^accounts/', include('allauth.urls')),
url(r'productlist/(?P<pk>[0-9]+)/delete/$', views.LampDelete.as_view(), name='lamp-delete'),]
Also, welche Methode sollte ich zu meiner Vorlage umleiten verwenden und wie man mit ausgewähltem Kategoriemodell. Wenn jemand ein Beispiel geben könnte wäre sehr dankbar.
Kategorie ist bereits ein Feld von Lampenmodell, aber wenn ich nur zurückgeben Rückwärts passieren (‚Produktliste‘, { ‚Kategorie‘: Kategorie}) Ich Typeerror erhalten: unhashable Typ: ‚dict‘. Selbst wenn Kategorie –
serj
@serj ist ja, das ist, weil Sie 'str' Objekt übergeben müssen, das Sie in' views.productlist' verwenden. Ich glaube, es könnte Name von 'Category' Objekt sein oder etwas in Bezug auf' Category' Objekt –
das ist meine views.productlist def Produktliste (Anfrage, Kategorie): MEDIA_URL = settings.MEDIA_URL lamps = Lamp.objects.filter (category = categ) return render (Anfrage, 'productlist.html', {'lamps': Lampen, 'MEDIA_URL': MEDIA_URL}) Welches Objekt sollte ich übergeben? – serj