اذهب إلى المحتوى
  • 0

كيفية معرفة نوع متصفح العميل في جانغو Django؟

Mohssen A Mohssen

السؤال

أحاول أن أقوم بعرض رسالة تخبر المستخدم بأن يستعمل Google Chrome أو Firefox ، ولكن أريد أن تظهر هذه الرسالة فقط في حالة كان يستعمل Internet Explorer . كيف يمكنني معرفة نوع المتصفح الموجود لدى المستخدم؟

أعرف أن طلب http يحتوي على مثل هذه المعلومات (ترويسة الطلب request header). لكن كيف سأحصل على هذه المعلوماتن في جانغو Django؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

للحصول على نوع المُتصفح الذي يستخدمه المُستخدم للدخول إلى الموقع إستعمل:

request.META['HTTP_USER_AGENT']

والتي تحتوي على قيمة ال UserAgent الخاص بالمُتصفح.

لإستعمالها في القالب نكتب:

{% if "msie" in request.META.HTTP_USER_AGENT|lower %}
   <p> أنت تستعمل المُتصفح </p>
    <p> Internet Explorer </p>
{% endif %}

يُمكنك أيضاً استخدام نص HTML يقوم بالمطلوب من دون إضافة شفرة من إطار العمل جانغُو:

<!--[if IE]> 
    <div>
       أنت تستعمل متصفح
       Internet explorer
    </div>
<![endif]-->

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بدءًا من Django 2.2، يمكنك استخدام request.headers للوصول إلى رؤوس HTTP. حسب الوثائق "كائن يشبه القاموس، ويوفر وصولاً إلى جميع ترويسات HTTP-prefixed بالإضافة إلى طول المحتوى ونوع المحتوى من خلال الطلب request":

>>> request.headers
{'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6', ...}
>>> 'User-Agent' in request.headers
True
>>> 'user-agent' in request.headers
True
>>> request.headers['User-Agent']
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)
>>> request.headers['user-agent']
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)
>>> request.headers.get('User-Agent')
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)
>>> request.headers.get('user-agent')
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)

وللحصول على جميع الرؤوس، يمكنك استخدام ()request.headers.keys أو ()request.headers.items.
 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...