मेरे पास एक यूआरएल: http://twittaclone.herokuapp.com पर एक नमूना वेब एप्लिकेशन (फ्लास्क-लॉगिन फोकस्क-लॉगिन चल रहा है) है।फ्लास्क-लॉगिन और हेरोकू मुद्दे
जब मैं इसे अपने लोकहोस्ट पर चलाता हूं तो लॉगिन कार्यक्षमता ठीक काम करती है। जब मैं उसकेोकू को धक्का देता हूं तो यह बाहर निकलता है और उपयोगकर्ताओं को लॉगिन करने की अनुमति नहीं देता है (यह उपयोगकर्ता पंजीकरण की अनुमति देता है)। डेटाबेस संशोधन किए जा रहे हैं।
फ्लास्क लॉगिन क्यों नहीं होगा Heroku पर काम नहीं करेगा?
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()
###
# Routing for your application.
###
login_manager = LoginManager()
login_manager.login_view = "login"
@login_manager.user_loader
def load_user(username):
g.db = connect_db()
return get_user(username)
login_manager.init_app(app)
@app.route('/')
def home(): return render_template('home.html')
def connect_db(): return mysql.connect()
@app.before_request
def before_request():
g.user = current_user
g.db = connect_db()
@app.teardown_request
def tear_down(exception):
g.db.close()
@app.route('/main/')
@login_required
def main():
print("in main")
tweets, user = get_main()
follower_count, followee_count = get_follower_info(g.user.username)
return render_template('main.html', user=user, tweets=tweets, followercount = follower_count, followeecount = followee_count)
@app.route('/login/', methods=['GET', 'POST'])
def login():
"""Logs the user in."""
if request.method == 'GET':
if current_user is user_logged_in: logout_user()
error = None
if request.method == 'POST':
user = get_user(request.form['username'])
if user is None:
error = 'Invalid username'
elif not check_password_hash(user.password, request.form['password']):
error = 'Invalid password'
else:
flash('You were logged in')
login_user(user)
return redirect(url_for('main'))
return render_template('login.html', error=error)
'freaks out' से आपका क्या मतलब है? – alexvassel
यह आपको कई बार लॉगिन करने के लिए पुनर्निर्देशित करता रहता है। –
उपयोगकर्ता नाम ए, ईमेल: ए @ ए, पासवर्ड: ए जैसे डमी नाम के साथ पंजीकरण करने का प्रयास करें। यह आपको कई बार लॉगिन करने के लिए रीडायरेक्ट करेगा –