им создавая Логин кодовую страницу-им разноски Doesnt дать какие-либо ошибки запрос не проходит через
if request.method == 'POST' and formLogin.validate(): if formLogin.username_signin == 'admin' and formLogin.password_signin == 'admin': return redirect(url_for('home'))
этот кусок кода получает пропускаются, даже когда я поставил админа в коробке коробки (wtforms) вот код им с помощью:
app = Flask(__name__)
app.secret_key = 'jjjjjjj'
@app.route('/')
def home():
return render_template('home.html')
@app.route('/login/', methods=['GET', 'POST'])
def login():
formLogin = LoginForm(request.form)
error = None
if request.method == 'POST' and formLogin.validate():
if formLogin.username_signin == 'admin' and formLogin.password_signin == 'admin':
return redirect(url_for('home'))
else:
error = 'Please enter right credentials.'
return render_template('login.html', error=error, formLogin=formLogin)
return render_template('login.html', error=error, formLogin=formLogin)
if __name__ == '__main__':
app.debug = True
app.run()
мой login.html:
{% extends 'base.html' %}
{% block head %}
<div class='container'>
<div class='row'>
<form method= post action='/login/'>
{{ formLogin.username_signin(class='form-control', placeholder='Username') }}
{{ formLogin.password_signin(class='form-control', placeholder='Password') }}
{{ formLogin.submit_signin(class='btn btn-primary') }}
</form>
<p><strong>Error:</strong>{{ error }}</p>
</div>
</div>
{% endblock %}
Form.py
from wtforms import Form,StringField, PasswordField, TextField, BooleanField, SubmitField, validators
class LoginForm(Form):
username_signin = StringField('SigninU', [validators.Required('please enter name')])
password_signin = PasswordField('signinP', [validators.Required('need password')])
submit_signin = SubmitField('Signin')
Как я уже сказал, все делает ОК и им не достает ошибку. Моя проблема в том, что когда я помещаю «admin» в обе коробки, а не перенаправляю меня на функцию home(), он просто переходит прямо к инструкции else.
Как вы определяете LoginForm? –
Только что обновленное сообщение с LoginForm – quechon
Следующим шагом будет добавить некоторые инструкции печати для formLogin и request.form, чтобы попытаться устранить то, что на самом деле получает там назначение. –