में ब्राउज़र कैशिंग समस्याएं मैंने फ्लास्क (www.csppdb.com) का उपयोग कर एक वेबसाइट बनाई है। कभी-कभी जब मैं एक उपयोगकर्ता के रूप में लॉग इन करता हूं, लॉग आउट करता हूं, तो किसी अन्य उपयोगकर्ता के रूप में लॉगिन करता हूं, फिर भी मैं पहले उपयोगकर्ता से लॉग इन करता हूं। पेज को रीफ्रेश होने पर यह समस्या तुरंत ठीक हो जाती है। मुझे लगता है कि अगर मुझे गलत नहीं लगता है तो इसे "कैशिंग" कहा जाता है। क्या कोई तरीका है कि मैं इसे साइट के व्यापक स्तर पर अक्षम कर सकता हूं ताकि प्रत्येक पृष्ठ को देखने के लिए एक नया ताज़ा करने की आवश्यकता हो?फ्लास्क
यह आपके कंप्यूटर को एक दोस्त के साथ साझा करना होगा। वह फेसबुक में लॉग इन करता है, फिर लॉग आउट करता है। अब आप अपने कंप्यूटर पर लॉग इन करते हैं और आप उसकी प्रोफ़ाइल देखते हैं ... (अजीब)। पृष्ठ को रीफ्रेश करने के बाद समस्या ठीक हो जाती है।
यहां मेरा कुछ कोड है। मैं कुप्पी प्रवेश का उपयोग कर रहा था, लेकिन मैं तो पृष्ठों आप कुछ HTTP प्रतिक्रिया हेडर निर्धारित करने की आवश्यकता के इन प्रकार पर ब्राउज़र कैशिंग
from flask.ext.mysql import MySQL
import os
from flask import Flask, request, jsonify, session, url_for, redirect, \
render_template, g, flash
from data import *
from werkzeug import check_password_hash, generate_password_hash
import config
app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_HOST'] = os.environ['MYSQL_DATABASE_HOST'] if 'MYSQL_DATABASE_HOST' in os.environ else config.MYSQL_DATABASE_HOST
app.config['MYSQL_DATABASE_PORT'] = os.environ['MYSQL_DATABASE_PORT'] if 'MYSQL_DATABASE_PORT' in os.environ else config.MYSQL_DATABASE_PORT
app.config['MYSQL_DATABASE_USER'] = os.environ['MYSQL_DATABASE_USER'] if 'MYSQL_DATABASE_USER' in os.environ else config.MYSQL_DATABASE_USER
app.config['MYSQL_DATABASE_PASSWORD'] = os.environ['MYSQL_DATABASE_PASSWORD'] if 'MYSQL_DATABASE_PASSWORD' in os.environ else config.MYSQL_DATABASE_PASSWORD
app.config['MYSQL_DATABASE_DB'] = os.environ['MYSQL_DATABASE_DB'] if 'MYSQL_DATABASE_DB' in os.environ else config.MYSQL_DATABASE_DB
mysql.init_app(app)
if 'SECRET_KEY' in os.environ: app.config['SECRET_KEY'] = os.environ['SECRET_KEY']
else: app.config['SECRET_KEY'] = os.urandom(24)
def connect_db(): return mysql.connect()
def check_auth():
g.user = None
if 'username' in session:
g.user = get_user(session['username'])
return
return redirect(url_for('login'))
@app.route('/')
def home():
if 'username' in session: return redirect(url_for('main'))
return render_template('home.html')
def connect_db(): return mysql.connect()
@app.teardown_request
def teardown_request(exception):
if exception: print exception
g.db.close()
@app.before_request
def before_request():
print session.keys(), session.values()
print("before request")
print ('username' in session, "in session?")
g.db = connect_db()
g.user = None
if "username" in session:
g.user = get_user(session['username'])
@app.route('/login/', methods=['GET', 'POST'])
def login():
"""Logs the user in."""
if 'username' in session:
return redirect(url_for('main'))
error = None
if request.method == 'POST':
print("login hit")
user = get_user(request.form['username'])
if user is None:
error = 'Invalid username'
print error
elif not check_password_hash(user.password, request.form['password']):
error = 'Invalid password'
print error
else:
flash('You were logged in')
print "logged in"
session['username'] = request.form['username']
g.user = request.form['username']
print error, "error"
return redirect(url_for('main'))
return render_template('login.html', error=error)
आप किस लेख का उपयोग करते हैं? –
कोई भी आप कुछ भी नहीं कह इससे पहले कि आप यहाँ उदाहरण लॉगिन करने के लिए किसी भी कोड नहीं डाल सकते हैं, और टेम्पलेट के विचारों और उदाहरण लॉगआउट जहां इस बग कर सकते हैं। – Denis
@Denis, कृपया संलग्न कोड –