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

السؤال

Recommended Posts

  • 1
نشر

أولا ip هو معرّف فريد يُستخدم لإرسال واستقبال البيانات من الإنترنت على أجهزتنا.

سنقوم بعمل وظيفتين من شأنها مساعدتنا في الحصول على عنوان IP الخاص بالمستخدم.

  حدد دالتين في views.py والتي ستخزن عنوان IP وإظهاره كمخرج.

from django.shortcuts import render

def get_ip_address(request):
    user_ip_address = request.META.get('HTTP_X_FORWARDED_FOR')#نستخدم الإستعلام  ميتا للحصول على تصريح
    if user_ip_address:
        ip = user_ip_address.split(',')[0] # ثم نفصل الأيبي عن باقي البيانات
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip
# ثم نظهرها في الواجهة
def show_ip_address(request):
    user_ip = get_ip_address(request)
    return render(request, "output.html", {"user_ip":user_ip})

 

تأكد من تكوين الخادم reverse proxy (إن وجد) بشكل صحيح (على سبيل المثال ، تم تثبيت mod_rpaf على Apache سيرفر).

أو يمكنك تثبيت حزمة جاهزة للقيام بهذا الشيء مثل django-ipware عبر الأمر التالي 

pip install django-ipware

ثم في ملف views.py 

from ipware import get_client_ip
ip, is_routable = get_client_ip(request)#جلب الأيبي بسطر واحد

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...