0
안녕하세요 친구 [ 'train'] 세션이 변경되면로드 템플릿을 표시하도록 템플릿 HTML 파일을 원합니다. 여기 것들 내가 해봤되지만 작동하지 않았다 :파이썬 - 세션 변수가 변경 될 때 플라스크 템플릿을 변경하는 방법?
- HTML 파일 :
<div class="messages">
{% block content%}
{% if session['training'] %}
<div class="spinner"><div class="double-bounce1"></div>
<div class="double-bounce2"><p style="font-weight:bold;font-size:16px;margin-left:-17px;color:white;">Training</p></div>
</div>
</div>
{% else %}
<div class="messages-content"></div>
</div>
<div class="message-box">
<textarea type="text" class="message-input" placeholder="Type message..."></textarea>
<button type="submit" class="message-submit">Send</button>
</div>
</div>
</div>
{% endif %}
{% endblock content%}
- 파이썬 코드 :
def retrain():
session['training']=True
app = Flask(__name__)
@app.route("/")
def home():
if session.get('logged_in'):
return render_template('index.html')
else:
return render_template('login.html')
@app.route('/login', methods=['POST'])
def login():
error = False
POST_USERNAME = str(request.form['username'])
POST_PASSWORD = str(request.form['password'])
Session = sessionmaker(bind=enginedb)
s = Session()
query = s.query(User).filter(User.username.in_([POST_USERNAME]), User.password.in_([POST_PASSWORD]))
result = query.first()
if result:
session['logged_in'] = True ##for remember me function
flash('Login success')
return render_template('index.html')
else:
flash('Login failed!')
return render_template('login.html',error=True)
@app.route("/logout")
def logout():
session['logged_in'] = False
return home()
@app.route('/message', methods=['POST'])
def reply():
answer=response(request.form['msg'])
if "train" in answer:
retrain()
return jsonify({ 'text': answer})
I가 발생하고있어 문제는 내가 내 템플릿 페이지를 새로 고침 할 때 회 전자 로더는 표시이다. 대답이 인 경우 reply()에 "train"이 포함 된 경우 템플릿을 자동으로 다시로드하고 회 전자를 표시해야합니다.