Inhalt von einer html Seite in eine andere senden

Django, Flask, Bottle, WSGI, CGI…
Antworten
alpi
User
Beiträge: 8
Registriert: Mittwoch 18. Mai 2022, 06:04

Hallo liebes Community,
vorab ich bin schon seit x Stunden das Problem zu lösen, aber bis jetzt bin ich vergänglich gescheitert. Ihr seit Tmm eine letzte Öffnung.
Ich bin aktuell in einem Projekt beteiligt, bei dem wir ein Quiz-Spiel entwickeln. Ich bin für das backend zuständig.
Wir wollen, dass die User auch fragen ins Spiel einfügen können, wenn ein User eine Frage hinzufügt, soll diese allerdings bevor die Frage in der Datenbank gespeichert werden. Sobald der User eine Frage hinzufügt bekommt der Admin eine email: „es ist eine neue Frage eingegangen“, und in der Email ist ein link der auf eine html Seite (approve_question.html) weiter Leiter. Bis hier hin funktioniert alles. Allerdings führt der link nur auf eine leere html Seite. Ich möchte, dass die hinzugefügte Frage, dann auf der approve_question.html aufgezeigt wird, damit der Admin nach der Kontrolle in der Datenbank speichern kann, so dass die Frage im Spiel dann angezeigt wird.mein Problem ist, ich kann die Seite question.html (hier kann dann die Frage mit vier antworten eingegeben werden) nicht, mit dem Inhalt weiter an die approve_question.html senden. Ich füge noch einen Teil vom Code, damit klarer ist.

Die question.html hat ein Feld für die Fragen und vier für die Antworten. Das alles möchte ich ausgefüllt weiterleiten an approve_question.html

views.py

def questions(request):
form = addQuestionform()
if (request.method == 'POST'):
form = addQuestionform(request.POST)
if (form.is_valid()):
form.save(commit=False)
html = render_to_string("notification_email.html")
send_mail('The contact form subject', 'This is the message', 'noreply@codewithstein.com', ['example@gmail.com'],
html_message=html)


return redirect("login")



context = {'form': form}
return render(request, 'addQuestion.html', context)


def approve_questions(request):
return render(request, "approve_question.html")


„““
approve_questions.html

I wanna to get the content from question.html here

currently empty

„““
question.html
here is the form
{% extends 'dependencies.html' %}

{% block content %}

<div class="jumbotron container row">
<div class="col-md-6">
<h1>Add Question</h1>
<div class="card card-body">
<form action="" method="POST" id="form">
{% csrf_token %}
{{form.as_p}}
<br>
<input type="submit" name="Submit">
</form>

</div>
</div>


</div>

{% endblock %}
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mal 4 und mal 8. Die Klammern um die if-Bedingungen sind überflüssig und können weg.
Leerzeilen können die Lesbarkeit erhöhen, oder verringern, wenn sie eine Funktion an nicht logischen Stellen in mehrere Teile zerreißen. Innerhalb einer Funktion ist an wenigen strategischen Stellen EINE Leerzeile erlaubt, niemals zwei hintereinander.

Du willst die eingegebene Frage nicht in der Datenbank speichern, sondern an einen Admin schicken? Dann muß der natürlich auf anderem Weg die Frage bekommen, indem man z.B. die ganze Information als URL-Parameter mitgibt. Du gibst aber render_to_string gar keine weitere Information mit.

Eine bessere Alternative wäre es, die Fragen bereits in der Datenbank zu speichern und mit einem Flag approved=False zu versehen. Dann reicht es, die passende Datenbank-ID in die eMail zu packen und für den Admin könnte man eine Seite machen, auf der er alle noch nicht geprüften Fragen sehen kann.
Benutzeravatar
grubenfox
User
Beiträge: 411
Registriert: Freitag 2. Dezember 2022, 15:49

Sirius3 hat geschrieben: Donnerstag 8. Dezember 2022, 09:38 Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mal 4 und mal 8.
Einrückungen? Welche Einrückungen? Bei mir wird der Code komplett ohne Einrückungen angezeigt! Auch bei manch anderen Postings. Liegt es an meinen Forums-Einstellungen?
alpi
User
Beiträge: 8
Registriert: Mittwoch 18. Mai 2022, 06:04

Danke für die Antwort!
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@grubenfox: Einrückungen sind nur sichtbar, wenn der Poster Code-Tags benutzt. Wenn man den Beitrag zitiert, bekommt man aber den Text so, wie er eingegeben wurde, und da sind dann auch die Einrückungen mit dabei.
Benutzeravatar
grubenfox
User
Beiträge: 411
Registriert: Freitag 2. Dezember 2022, 15:49

Sirius3 hat geschrieben: Donnerstag 8. Dezember 2022, 10:19 @grubenfox: Einrückungen sind nur sichtbar, wenn der Poster Code-Tags benutzt. Wenn man den Beitrag zitiert, bekommt man aber den Text so, wie er eingegeben wurde, und da sind dann auch die Einrückungen mit dabei.
Aha, so geht das! Danke! (nun bin ich hier auch wieder weg mit meinem Off-Topic-Thema)
Antworten