Я пытаюсь скрыть конфиденциальную информацию на своем сайте, предлагая пользователям подтвердить свои данные для входа в систему, прежде чем они смогут ее увидеть.
У меня есть две функции python: `
@settings.route('/api_login_check/', methods=['GET'])
@access_level('setting_admin')
def api_login_check():
return login(api_verifying = True)
@settings.route('/api_information/<int:verified>', methods=['GET'])
@settings.route('/api_information/', methods=['GET'])
@access_level('setting_admin')
def api_information(verified = 0):
if verified:
return render_template('api_information.html', v = True)
else:
return render_template('api_information.html', v = False)`
В основном, как он работает в данный момент, находится на странице, на которой вы изначально должны перейти к этой информации, она вызывает api_information и проверяет значения по умолчанию False.Затем он отображает шаблон страницы независимо, но с помощью Jinja я скрываю весь контент и перенаправляю их в api_login_check.Оттуда он предлагает пользователю войти в систему и, наконец, снова вызовет api_information при успешном входе в систему.Проблема здесь в том, что он не очень хорошо перенаправляет обратно в функцию api_information.В этом текущем состоянии код работает, но URL все равно будет показывать api_login_check.
if (successful==true) {
{% if api_verifying %}
var verified = true;
$.ajax({
url: "{{url_for('settings.api_information', verified = 1)}}",
type: "GET",
data: verified,
success:function(response){ document.write(response); }
});
{% endif %}
Вот два моих реальных вопроса:Есть ли способ правильно использовать JS для отправки переменной обратно в Python без ajax, и если нет, как получить ajax для правильного отображения URL-адреса api_information?Является ли фундаментальная техника, которую я использую для этого, действительно далека от более распространенных методов?Если это так, я хотел бы некоторые указатели или советы!Спасибо всем в advnace.