Ich möchte ein Formular anzeigen und nach der Eingabe der Details, wenn der Tag, Monat und Jahr eingegeben ist gültig Display Thanks Nachricht sonst das Formular erneut anzeigen, aber das Problem ist, wenn ich auf Senden klicken Ich erhalte keine Ausgabe, sondern nur einen leeren Bildschirm. In der Post-Prozedur ist ein Fehler aufgetreten.Mein Code gibt keine korrekte Ausgabe
import webapp2
form="""
<form method="post">
When is ur birthday?
<br>
<label> Month
<input type="text" name="month">
</label>
<label> Day
<input type="text" name="day">
</label>
<label> Year
<input type="text" name="year">
</label>
<br>
<br>
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
months = ['January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December']
def valid_month(month):
month= month.capitalize()
if month in months:
return month
else:
return None
def valid_day(day):
if day and day.isdigit():
if int(day) in range(1, 32):
return int(day)
return None
def valid_year(year):
if year and year.isdigit():
if int(year) in range (1900, 2021):
return int(year)
return None
def get(self):
self.response.out.write(form)
def post(self):
user_month = valid_month(self.request.get("month"))
user_day = valid_day(self.request.get("day"))
user_year = valid_year(self.request.get("year"))
if not (user_year and user_day and user_month):
self.response.out.write(form)
else:
self.response.out.write("Thanks!")
app = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
Versuchen Sie zu erklären, was "korrekte" Ausgabe bedeuten würde. Sie sollten auch eine Fehlermeldung hinzufügen. Wenn Sie sich den Beispielcode ansehen, sollte er nur das Formular anzeigen, in dem Sie geschrieben haben. Was erwarten Sie? –
Fragen zur Fehlersuche (** "Warum funktioniert dieser Code nicht?" **) muss das gewünschte Verhalten, * ein spezifisches Problem oder einen Fehler * und * den kürzesten erforderlichen Code * enthalten, um es in der Frage selbst zu reproduzieren **. Fragen ohne ** eine klare Problemstellung ** sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). – MattDMo
Hier ist das Tutorial: http://wsgi.tutorial.codepoint.net/parsing-the-request-post – GAEfan