vessels
@vessels
Ни черта не понял, но очень интересно!

Реализация авторизации в flask?

Добрый день, у меня есть код простой проверки имя пользователя:
@app.route('/')
def index():
    return render_template('index.html')

@app.route('/submit', methods = ['POST'])
def post():
    if request.form.get('login') == 'admin':
        return jsonify({'type':'success','msg':'success'})
    return jsonify({'type':'error','msg':'error'})

HTML:
<!DOCTYPE html>
<html>
<head>
	<title>Bot</title>
	<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
	<div id="content">
		<form action="/submit" method="POST">
			<input type="text" name="login">
		</form>
		<button id="submit">Submit</button>
	</div>
	<script type="text/javascript">
		$('#submit').click(function(){
			event.preventDefault();
			var method = $('form').attr('method')
			var data = $('form').serialize();
			var action = $('form').attr('action')
			$.ajax({
				method: method,
				url: action,
				data: data,
				success: function(result){
					var msg = JSON.stringify(result);
					alert(msg)
				}
			})
		})
	</script>	
</body>
</html>

Так вот, мне нужно реализовать авторизацию так, чтобы при входе страница авторизации была неактивна, а другие страницы активны.
Будут простенькие примеры или какие-то советы?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
from flask import session


@app.route('/')
def index():
    if not session.get('logged_in'):
        return redirect('/submit')
    else:
        return render_template('index.html')


@app.route('/submit', methods = ['POST'])
def post():
    if request.form.get('login') == 'admin':
        session['logged_in'] = True
        return jsonify({'type':'success','msg':'success'})
    return jsonify({'type':'error','msg':'error'})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы