Пытаюсь реализовать вход в личный кабинет. Схема входа следующая:
Проблема заключается в последнем шаге, когда происходит редирект на страницу /personal_account
, почему-то URL не меняется,
и не срабатывают js скрипты. При просмотре кода в брузере видно, что private.html отображается, файлы js подключаются. При просмотре кода страницы-отображается код изначальной страницы, с которой был сделан запрос и ее же url.js не находит canvas.
private.html - используются шаблоны jinja2, страница личного кабинета
{% block tab_content %}
<canvas width="800" height="600" id="canvas"></canvas>
<script>
window.onload = init;
function init(){
console.log('работает');
var canvas = document.getElementById('canvas');
if (canvas) {
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.fillRect(25, 25, 100, 100);
}
}
}
</script>
{% endblock %}
common.js
document.getElementById('next_in').onclick = function (){ //after hitting enter
$.ajax({
data: {
login: document.getElementById('log').value,
password: document.getElementById('pass').value
},
type: 'POST',
url: '/validate_user',
success: function (data_1) {
if(data_1.result==true){
$.ajax({
data: {
login: document.getElementById('log').value
},
type: 'POST',
url: '/user_login',
success: function (data_2) {
document.body.innerHTML = data_2;
}
});
}
else{
alert('Incorrect user or login!');
}
}
});
}
Функция validate_user()
@app.route('/validate_user', methods=['POST'])
def validate_user():
login = request.form['login']
password = request.form['password']
try:
c, conn = cursor_connection()
c = conn.cursor()
c.execute("SELECT hsh "
"FROM auth_info "
"WHERE login='{}' ; "
"".format(login, password))
res = c.fetchall()[0][0]
c.close()
conn.close()
except Exception as e:
logger.info(msg='Failed to execute /validate_user {}'.format(e))
return render_template('500.html')
if check_password_hash(password=password, pwhash=res):
return jsonify({'result': True})
return jsonify({'result': False})
И функция user_login()
@app.route('/user_login', methods=['POST'])
def user_login():
login = request.form['login']
if login is None or not login:
return jsonify(data='Incorrect URL')
try:
c, conn = cursor_connection()
c = conn.cursor()
c.execute("SELECT accounts_info_uid "
"FROM auth_info WHERE login='{}' ".format(login))
id = c.fetchall()
if not id:
return jsonify(data='Incorrect login')
c.execute("SELECT * FROM boxes_id AS tb1 LEFT JOIN"
" accounts_info AS tb2 ON tb2.boxes_ids=tb1.uid "
# "LEFT JOIN electricity_info as tb3 ON tb3.boxes_id_uid=tb1.uid"
" WHERE tb2.uid={} ".format(id[0][0]))
uid, mc_address, working_status, activation_status, _,\
first_name, second_name, registration_date, phone, email, boxes_id = c.fetchall()[0]
c.execute(" SELECT consumed_electricity "
"FROM electricity_info "
"WHERE boxes_id_uid={} ".format(boxes_id))
consumed_electricity = [float(val[0]) for val in c.fetchall()]
c.close()
conn.close()
except Exception as e:
logger.error(msg='Cannot execute /user_login {}'.format(e))
return str(e)
user = User()
user.id = login
login_user(user)
return redirect(url_for('welcome'))
Используемые технологии: flask, python 2.7, jinja2, ajax, jquery
В чем тут проблема, что неправильно?
EDIT1
функция welcome
@app.route('/welcome')
def welcome():
return render_template('private.html')
Хочется получить "чистый" редирект на private.html с отрисовкой прямоугольника на canvas и изменением URL на /welcome
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нашел сайт (https://zavod2kmoru/), нравится все как есть, хотел бы реализовать так же у себя на сайте WP
Скажите, пожалуйста, как по русски можно называть следующие селекторы-комбинаторы: