Hello Constantine C, Thanks for your reply!
What do you mean to say just one place ? I just printed the request using `print(request)` and getting this `<function all at 0x7f6ffc65a050>` ( don't know what this actually is ) Am i using the following approach. On Saturday, September 30, 2017 at 8:08:22 AM UTC+5:30, Constantine Covtushenko wrote: > > Hi Mannu, > > It seems like all are ok. > Sorry, but do you use it in just one place? > And do you see response in console from your print? > > Regards, > Constantine C. > > On Thu, Sep 28, 2017 at 4:36 PM, Mannu Gupta <[email protected] > <javascript:>> wrote: > >> I am just using it in a view function. For example:- >> >> @owner_required >> def all(request, **kwargs): >> pass >> >> >> On Friday, September 29, 2017 at 12:33:09 AM UTC+5:30, Mannu Gupta wrote: >>> >>> While making a customer decorator in django, the code is here :- >>> >>> def owner_required(function): >>> def wrap(request, *args, **kwargs): >>> print(request) >>> ip_address = get_client_ip(request) >>> ip_exist = Node.objects.get(ip_address=ip_address) >>> if ip_exist: >>> return function(request, *args, **kwargs) >>> else: >>> raise PermissionDenied >>> return wrap >>> >>> my code for get_ip_address() is :- >>> >>> def get_client_ip(request): >>> """ Extract ip address from a Django request object >>> """ >>> x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') >>> if x_forwarded_for: >>> ip = x_forwarded_for.split(',')[0] >>> else: >>> ip = request.META.get('REMOTE_ADDR') >>> return ip >>> >>> The error i am getting is :- >>> >>> x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') >>> AttributeError: 'function' object has no attribute 'META' >>> >>> >>> That get_client_ip() is working fine when used in normal function, but >>> don't know why it is not working when i am using it a decorator. >>> >>> What might be the problem ? >>> >>> Thanks in advance for replies. >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/0e34ae73-5697-4a93-9402-c0ca1f4abd70%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-users/0e34ae73-5697-4a93-9402-c0ca1f4abd70%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Sincerely yours, > Constantine C > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/69879830-d7ad-4914-a8d4-7ac1ba1d8241%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

