Sorry for late response,

I meant that you might using that decorator in 2 places.
And asked about that.

It seems like you specified `@owner_required` to decorate your view
function. But that decorator behave like `@owner_required()`.

With your last response I see that decorated function instead of `request`
receives `function all`. It looks like improperly used decorator.

More than that I do not have more ideas from what you provided.


On Sat, Sep 30, 2017 at 4:02 PM, Mannu Gupta <[email protected]>
wrote:

> 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]>
>> 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].
>>> 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/ms
>>> gid/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
> <https://groups.google.com/d/msgid/django-users/69879830-d7ad-4914-a8d4-7ac1ba1d8241%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/CAK52boXfYjnNZXBa-9Qo3jCtMuEzgBu76Q%3D36zgn_9242Y4Q4Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to