मैं फ्लास्क माइक्रो-फ्रेमवर्क का उपयोग कर रहा हूं जो कि वेर्कज़ुग पर आधारित है, जो पायथन का उपयोग करता है।फ्लास्क/वेर्कजेग, लॉगिन के बाद पिछले पृष्ठ को वापस कैसे करें
प्रत्येक प्रतिबंधित पेज से पहले एक डेकोरेटर सुनिश्चित करने के लिए उपयोगकर्ता के प्रवेश होता है, वर्तमान में उन्हें प्रवेश पृष्ठ पर लौटने अगर वे लॉग इन नहीं हैं, तो जैसे:
# Decorator
def logged_in(f):
@wraps(f)
def decorated_function(*args, **kwargs):
try:
if not session['logged_in']:
flash('Please log in first...', 'error')
return redirect(url_for('login'))
else:
return f(*args, **kwargs)
except KeyError:
flash('Please log in first...', 'error')
return redirect(url_for('login'))
return decorated_function
# Login function
@app.route('/', methods=['GET', 'POST'])
def login():
"""Login page."""
if request.method=='POST':
### Checks database, etc. ###
return render_template('login.jinja2')
# Example 'restricted' page
@app.route('/download_file')
@logged_in
def download_file():
"""Function used to send files for download to user."""
fileid = request.args.get('id', 0)
### ... ###
में प्रवेश करने के बाद, यह की जरूरत है उपयोगकर्ताओं को उस पृष्ठ पर वापस लाने के लिए जो उन्हें लॉगिन पृष्ठ पर ले गया। इसे पास किए गए चर जैसे चीजों को भी बनाए रखने की आवश्यकता है (यानी संपूर्ण लिंक मूल रूप से www.example.com/download_file?id=3)
क्या कोई यह जानता है कि यह कैसे करें?
आपकी मदद :-)
+1 फ्लास्क की एक आसान छोटी सुविधा के लिए पहला लिंक भी देखें, अन्यथा ब्लॉक करें – unmounted
get_current_url() flask.request.url है –