Я использую Flask, и я пытаюсь сделать сообщение об ошибке, когда одна из частей формы не была заполнена. Когда я тестирую это (заполнение всех частей формы), это дает мне ошибку: «TypeError: redirect() получил неожиданный аргумент ключевого слова« error ». Что я делаю не так?Python: TypeError: redirect() получил неожиданный аргумент ключевого слова 'error'
код Колба:
@app.route('/crudcourse', methods = ['POST'])
def crudcourse():
db = get_db()
error = None
button = request.form['submitcourse']
coursename = request.form['coursename']
description = request.form['description']
if coursename != None or description != None:
error = 'Vul alle velden in aub'
else:
if button == 'Toevoegen':
db.execute('insert into courses (coursename, description)
values(?, ?)', coursename, description)
db.commit()
flash('Gegevens sucessvol toegevoegd')
elif button == 'Updaten':
db.execute('update courses set coursename=?, description=? where
coursename=? or description=?',
coursename, description, coursename, description)
db.commit()
flash('Gegevens sucessvol geupdate')
elif button == 'Verwijderen':
db.execute('delete from courses where coursename=? or
description=?', coursename, description)
db.commit()
flash('Gegevens sucessvol verwijderd')
return redirect('/intranet/richtingen.html', error=error)
HTML код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Home</title>
<link rel="stylesheet" type="text/css" href="templates/style.css">
</head>
<body>
{% if error %}
<p class=error><strong>Error:</strong> {{ error }}
{% endif %}
{% for message in get_flashed_messages() %}
<div class=flash>{{ message }}</div>
{% endfor %}
<div id="courses">
<form action="/crudcourse" method="post">
<p>Naam<input type="text" name="coursename"></p>
<p>Beschrijving
<textarea name="description" cols="50" rows="4">
</textarea></p>
<input type="submit" name="submitcourse" value="Toevoegen">
</input>
<input type="submit" name="submitcourse" value="Updaten">
</input>
<input type="submit" name="submitcourse" value="Verwijderen">
</input>
</form>
</div>
</body>
</html>
Paste код из изображения здесь, он будет более читабельным для нас. – Arman
Ну, разве сообщение об ошибке недостаточно ясно? Объект 'redirect' не знает, что делать с аргументом ключевого слова' error'. См. Документацию по API: http://flask.pocoo.org/docs/0.12/api/#flask.redirect – Mikk
@Arman Я вставил код на него –