جانغو نماذج طريقة نظيفة () - الحاجة عنوان IP من العميل

StackOverflow https://stackoverflow.com/questions/1418611

  •  07-07-2019
  •  | 
  •  

سؤال

وأنا تجاوز الأسلوب نظيفة () على شكل جانغو. أريد أن يكون الوصول إلى عنوان IP للعميل (على افتراض هذا هو شكل ملزمة). إذا كان لدي إشارة إلى كائن الطلب، I يمكن الحصول عليها بسهولة من META ( "REMOTE_ADDR"). ومع ذلك، ليس لدي إشارة إلى الطلب.

وأي أفكار حول الكيفية التي يمكن أن يتم ذلك؟

هل كانت مفيدة؟

المحلول

وحتى تعطي لنفسك إشارة إلى ذلك.

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request', None)
        super(MyModelForm, self).__init__(*args, **kwargs)


    def clean(self):
        ip_address = self.request['META']['REMOTE_ADDR']

وومن وجهة نظرك:

myform = MyModelForm(request.POST, request=request)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top