Ich habe ein Formular generiert, das eine Eingabe vom Benutzer nimmt, ich mache eine Abfrage basierend auf der Eingabe und speichert die Ergebnisse der Abfrage in einer Variablen data
. Ich möchte eine Seite (display.html) rendern, die die Daten in der Variablen data
anzeigt.
Wie soll ich die URL definieren, die zu display.html zugeordnet werden soll?
Muss ich eine separate Ansicht für display.html definieren? Wenn ja, wie kann ich die Variable data
an die neue Ansicht übergeben?
Was ist die richtige Methode, um dies zu erreichen?
Dies ist meine views.py Datei, Griffe Display Funktion die Form und seine EingabeAbfragen basierend auf Eingabe über Formular und Anzeige des Ergebnisses
def displayform(request,user_pk):
user=User.objects.get(id=user_pk)
if request.user.is_active and request.user.id==user.id:
if request.user.is_authenticated():
if request.POST:
form=InpurDateForDisplay(request.POST)
if form.is_valid():
dd=form.cleaned_data['dd']
mm=form.cleaned_data['mm']
yy=form.cleaned_data['yy']
data=user.link_set.filter(date=datetime.date(day=dd,month=mm,year=yy))
return render_to_response('app1/display.html',{'data':data,})
else:
form=InpurDateForDisplay()
return render(request,'app1/displayform.html',{'form':form,})
else:
return render(request,'app1/error.html')
Ihre Frage ist nicht klar. Eine Ansicht benötigt nur eine URL. Welches genaue Problem hast du? –
Beim Schreiben der URL für die Ausgabeseite (display.html): In welcher Ansicht soll ich die URL zuordnen? –
Ich löste das Problem, ich verwendete einen DateTimeField-Feldtyp und meine Abfrage lieferte einen DateField-Feldtyp. Ich habe den Fehler mit dem URL-Zuordnungsproblem verwechselt. Jetzt habe ich Ihren Punkt, ich brauche keine andere URL für display.html, es wird bereits aus einer Ansicht gerendert, in der das Formular generiert wird. Danke :) –