Я прошу прощения, это должно быть дубликатом, но я не нашел ничего, что помогло, так что я думаю, что это проблема импорта или синтаксиса? Кроме того, я нахожусь на уровнях ускоренного курса Python и HTML здесь, и это финальная неделя, так что терпите меня.
Я работаю над домашним заданием, в котором указывается, что HTML-страница должна использовать форму с методом GET и отправлять свои данные обратно в исходное местоположение "assignment10.html". Приложение никогда не входит в функцию, которая использует форму, отправляемую с помощью GET, просто перезагружает страницу после отправки (URL имеет строку запроса). Приложение войдет в функцию, если я использую POST в качестве метода в параметре формы и функции и использую request.form.get (). Если это вообще имеет значение, я использую виртуальную машину с 64-битной Ubuntu
Я искал вокруг, но большинство ответов касаются json или ajax или какого-либо другого программного обеспечения, но поскольку это задание, я ограничен файлом python и папкой с шаблонами для flask.
Я немного поэкспериментировал с объектом запроса, используя request.form.get () и request.args.get (), но, насколько я могу судить, это не является препятствием. Я застрял в этой точке, и мне нужно знать, в чем моя ошибка.
# assignment10.py
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/assignment10.html')
def start():
return render_template('Start.html')
@app.route('/assignment10.html', methods=['GET']) #Enters if 'POST' instead
def next():
return "Entered next()" # just to test function is entered
fname = request.args.get('fname') #change to .form.get()
lname = request.args.get('lname') # " "
# render next template
<!-- Start.html -->
<!DOCTYPE html>
<html>
<head>
<title> Assignment 10 </title>
<script>
function validate(){
<!-- if fname && lname are not blank return true else false -->
}
</script>
</head>
<body>
<!-- switch to method="POST" works -->
<form action = "assignment10.html" method="GET" onsubmit="return validate()">
Your first name:
<input type="text" name="fname" id="fname" value="First"><br>
Your last name:
<input type="text" name="lname" id="lname" value="Last"><br>
<input type="submit" value="Submit">
</form>
<div id="msg"></div>
</body>
</html>