جانغو نماذج طريقة نظيفة () - الحاجة عنوان IP من العميل
-
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)
لا تنتمي إلى StackOverflow