English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

معالجة ملفات الكوكيز Flask

يتم تخزين الكوكيز تحت شكل ملف نصي على جهاز الكمبيوتر للعميل. الهدف هو تذكر وتتبع البيانات المتعلقة باستخدام العميل للحصول على تجربة أفضل في الوصول واستحصاءات الموقع.

مفردة الطلب تحتوي على خاصية الكوكيز. إنها دictionary object يحتوي على جميع متغيرات الكوكيز ومعادلاتها، تم إرسالها من قبل العميل. بالإضافة إلى ذلك، سيتم تخزين تاريخ انتهاء صلاحية الكوكيز، والمسار واسم نطاق الموقع.

في Flask، يتم تعيين الحلويات على جسم الاستجابة. يمكنك الحصول على جسم الاستجابة باستخدام دالة make_response() من قيمة العودة من وظيفة الرؤية. بعد ذلك، استخدم دالة set_cookie() من جسم الاستجابة لتخزين الحلويات.

قراءة الحلويات سهلة. يمكنك استخدام طريقة get() من خصائص request.cookies لقراءة الحلويات.

في تطبيق Flask أدناه، عند زيارة URL => /، يفتح نموذج بسيط.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
@app.route('/')
 def index():
     return render_template('index.html')

هذه الصفحة HTML تحتوي على مدخل نصي، الكود الكامل يلي -

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>مثال Flask على الحلويات</title>
 </head>
    <body>
       <form action="/setcookie" method="POST">
          <p><h3>ادخل userID</h3></p>
          <p><input type='text' name='name'/></p>
          <p><input type='submit' value='دخول'/></p>
       </form>
    </body>
 </html>

استلام النموذج إلى URL => /setcookie. وظيفة الرؤية المرتبطة تضبط Cookie باسم: userID، وتظهر في صفحة أخرى.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
@app.route('/setcookie', methods=['POST', 'GET'])
 def setcookie():
    if request.method == 'POST':
         user = request.form['name']
         resp = make_response(render_template('readcookie.html'))
         resp.set_cookie('userID', user)
         return resp

readcookie.html تحتوي على رابط إلى وظيفة أخرى getcookie()، التي تقرأ القيمة وتعرضها في المتصفح.

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
@app.route('/getcookie')
 def getcookie():
     name = request.cookies.get('userID')
     بعد ذلك '<h1>مرحبًا '+اسم+'</h1>'

كود التطبيق الكامل يلي -

# اسم الملف: example.py
# حقوق النشر: 2020 بواسطة w3codebox
# مؤلف: ar.oldtoolbag.com
# تاريخ: 2020-08-08
من Flask استيراد کنید
 من Flask استيراد کنید
 من Flask استيراد کنید
 from flask import make_response
 app = Flask(__name__)
 @app.route('/')
 def index():
     return render_template('index.html')
 @app.route('/setcookie', methods=['POST', 'GET'])
 def setcookie():
     if request.method == 'POST':
         user = request.form['name']
         resp = make_response(render_template('readcookie.html'))
         resp.set_cookie('userID', user)
         return resp
 @app.route('/getcookie')
 def getcookie():
     name = request.cookies.get('userID')
     print (name)
     return '<h1>welcome, '+name+'</h1>'
 if __name__ == '__main__':
     app.run(debug=True)

شغل التطبيق واستخدام URL => http://localhost:5000/ لضبط الكوكي كما يلي -

إليك مخرجات قراءة الكوكي كما يلي -