How to reuse a function or class in DjangoHow to merge two dictionaries in a single expression?How do I check if a list is empty?How do I check whether a file exists without exceptions?How to flush output of print function?How can I safely create a nested directory?Using global variables in a functionHow do I sort a dictionary by value?How to make a chain of function decorators?Does Django scale?How do I list all files of a directory?

What is the technical explanation of the note "A♭" in a F7 chord in the key of C?

Why should I cook the flour first when making bechamel sauce?

What to look for in climbing shoes?

What is the superlative of ipse?

Will it hurt my career to work as a graphic designer in a startup for beauty and skin care?

What are the benefits to casting without the need for somatic components?

Mathematica function equivalent to Matlab's residue function (partial fraction expansion)

I do not have power to all my breakers

Why did Steve Rogers choose Sam in Endgame?

What's the phrasal verb for carbonated drinks exploding out of the can after being shaken?

Why does the Trade Federation become so alarmed upon learning the ambassadors are Jedi Knights?

Why is "dark" an adverb in this sentence?

Can a pizza stone be fixed after soap has been used to clean it?

How could an animal "smell" carbon monoxide?

Can a polymorphed creature understand languages spoken under the effect of Tongues?

What are "full piece" and "half piece" in chess?

What is the German word or phrase for "village returning to forest"?

A scene of Jimmy diversity

Why do legislative committees exist?

Video editor for YouTube

How to cut stainless steel sheet without burning it?

Print all lines that don't have numbers, using sed

Sending a photo of my bank account card to the future employer

Are the errors in this formulation of the simple linear regression model random variables?



How to reuse a function or class in Django


How to merge two dictionaries in a single expression?How do I check if a list is empty?How do I check whether a file exists without exceptions?How to flush output of print function?How can I safely create a nested directory?Using global variables in a functionHow do I sort a dictionary by value?How to make a chain of function decorators?Does Django scale?How do I list all files of a directory?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















This is my class TimesheetListApiV2 there are lots of such kind of classes.



@valid_accesstoken_check
class TimesheetListApiV2(APIView):

def get(self, request):

try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


Now in all my classes this piece of code is there.



try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


I want to write a function or class where to reuse that code instead of writing it. But it should be workable even request should be pass. Even in future i am going to add more such code which should be reused.



I tried to make this decorators.py



from django.core.exceptions import ObjectDoesNotExist
from oauth2_provider.models import AccessToken

def valid_accesstoken_check(function):
def wrap(request, *args, **kwargs):
try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap


But it is giving error



path('timesheet/list', views.TimesheetListApiV2.as_view(), name='api_v2_timesheet_list'),
AttributeError: 'function' object has no attribute 'as_view'









share|improve this question
























  • Looks like you need a decorator?

    – E.Serra
    Mar 26 at 7:36











  • How can i create a decorator.

    – Huzaif Sayyed
    Mar 26 at 7:37











  • @E.Serra i tried to make decorator but it is giving error

    – Huzaif Sayyed
    Mar 26 at 7:50











  • You can create a Mixin for that

    – ruddra
    Mar 26 at 8:19











  • @ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

    – Huzaif Sayyed
    Mar 26 at 8:22


















1















This is my class TimesheetListApiV2 there are lots of such kind of classes.



@valid_accesstoken_check
class TimesheetListApiV2(APIView):

def get(self, request):

try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


Now in all my classes this piece of code is there.



try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


I want to write a function or class where to reuse that code instead of writing it. But it should be workable even request should be pass. Even in future i am going to add more such code which should be reused.



I tried to make this decorators.py



from django.core.exceptions import ObjectDoesNotExist
from oauth2_provider.models import AccessToken

def valid_accesstoken_check(function):
def wrap(request, *args, **kwargs):
try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap


But it is giving error



path('timesheet/list', views.TimesheetListApiV2.as_view(), name='api_v2_timesheet_list'),
AttributeError: 'function' object has no attribute 'as_view'









share|improve this question
























  • Looks like you need a decorator?

    – E.Serra
    Mar 26 at 7:36











  • How can i create a decorator.

    – Huzaif Sayyed
    Mar 26 at 7:37











  • @E.Serra i tried to make decorator but it is giving error

    – Huzaif Sayyed
    Mar 26 at 7:50











  • You can create a Mixin for that

    – ruddra
    Mar 26 at 8:19











  • @ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

    – Huzaif Sayyed
    Mar 26 at 8:22














1












1








1








This is my class TimesheetListApiV2 there are lots of such kind of classes.



@valid_accesstoken_check
class TimesheetListApiV2(APIView):

def get(self, request):

try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


Now in all my classes this piece of code is there.



try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


I want to write a function or class where to reuse that code instead of writing it. But it should be workable even request should be pass. Even in future i am going to add more such code which should be reused.



I tried to make this decorators.py



from django.core.exceptions import ObjectDoesNotExist
from oauth2_provider.models import AccessToken

def valid_accesstoken_check(function):
def wrap(request, *args, **kwargs):
try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap


But it is giving error



path('timesheet/list', views.TimesheetListApiV2.as_view(), name='api_v2_timesheet_list'),
AttributeError: 'function' object has no attribute 'as_view'









share|improve this question
















This is my class TimesheetListApiV2 there are lots of such kind of classes.



@valid_accesstoken_check
class TimesheetListApiV2(APIView):

def get(self, request):

try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


Now in all my classes this piece of code is there.



try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)


I want to write a function or class where to reuse that code instead of writing it. But it should be workable even request should be pass. Even in future i am going to add more such code which should be reused.



I tried to make this decorators.py



from django.core.exceptions import ObjectDoesNotExist
from oauth2_provider.models import AccessToken

def valid_accesstoken_check(function):
def wrap(request, *args, **kwargs):
try:
accesstoken=AccessToken.objects.get(
token=self.request.META.get('HTTP_AUTHORIZATION').replace('Bearer ', '')
)
except ObjectDoesNotExist:
return Response (

"status" : False,
"error" : "Wrong Access Token",
"error_message":"You have provided wrong access token.",

)
wrap.__doc__ = function.__doc__
wrap.__name__ = function.__name__
return wrap


But it is giving error



path('timesheet/list', views.TimesheetListApiV2.as_view(), name='api_v2_timesheet_list'),
AttributeError: 'function' object has no attribute 'as_view'






python django python-3.x django-views






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 26 at 7:49







Huzaif Sayyed

















asked Mar 26 at 7:35









Huzaif SayyedHuzaif Sayyed

5421 silver badge20 bronze badges




5421 silver badge20 bronze badges












  • Looks like you need a decorator?

    – E.Serra
    Mar 26 at 7:36











  • How can i create a decorator.

    – Huzaif Sayyed
    Mar 26 at 7:37











  • @E.Serra i tried to make decorator but it is giving error

    – Huzaif Sayyed
    Mar 26 at 7:50











  • You can create a Mixin for that

    – ruddra
    Mar 26 at 8:19











  • @ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

    – Huzaif Sayyed
    Mar 26 at 8:22


















  • Looks like you need a decorator?

    – E.Serra
    Mar 26 at 7:36











  • How can i create a decorator.

    – Huzaif Sayyed
    Mar 26 at 7:37











  • @E.Serra i tried to make decorator but it is giving error

    – Huzaif Sayyed
    Mar 26 at 7:50











  • You can create a Mixin for that

    – ruddra
    Mar 26 at 8:19











  • @ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

    – Huzaif Sayyed
    Mar 26 at 8:22

















Looks like you need a decorator?

– E.Serra
Mar 26 at 7:36





Looks like you need a decorator?

– E.Serra
Mar 26 at 7:36













How can i create a decorator.

– Huzaif Sayyed
Mar 26 at 7:37





How can i create a decorator.

– Huzaif Sayyed
Mar 26 at 7:37













@E.Serra i tried to make decorator but it is giving error

– Huzaif Sayyed
Mar 26 at 7:50





@E.Serra i tried to make decorator but it is giving error

– Huzaif Sayyed
Mar 26 at 7:50













You can create a Mixin for that

– ruddra
Mar 26 at 8:19





You can create a Mixin for that

– ruddra
Mar 26 at 8:19













@ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

– Huzaif Sayyed
Mar 26 at 8:22






@ruddra i tried to create mixin also but it is not working. In mixin i have put get method. How can i create mixin for that because mixin and decorator is new topic for me

– Huzaif Sayyed
Mar 26 at 8:22













1 Answer
1






active

oldest

votes


















0














Your decorator should apply to the get method, not the class itself:



class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...





share|improve this answer






















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55351902%2fhow-to-reuse-a-function-or-class-in-django%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Your decorator should apply to the get method, not the class itself:



    class TimesheetListApiV2(APIView):
    @valid_accesstoken_check
    def get(self, request):
    ...





    share|improve this answer



























      0














      Your decorator should apply to the get method, not the class itself:



      class TimesheetListApiV2(APIView):
      @valid_accesstoken_check
      def get(self, request):
      ...





      share|improve this answer

























        0












        0








        0







        Your decorator should apply to the get method, not the class itself:



        class TimesheetListApiV2(APIView):
        @valid_accesstoken_check
        def get(self, request):
        ...





        share|improve this answer













        Your decorator should apply to the get method, not the class itself:



        class TimesheetListApiV2(APIView):
        @valid_accesstoken_check
        def get(self, request):
        ...






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 26 at 10:32









        albaralbar

        2,0841 gold badge9 silver badges19 bronze badges




        2,0841 gold badge9 silver badges19 bronze badges
















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid …


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55351902%2fhow-to-reuse-a-function-or-class-in-django%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to preserve electronics (computers, tablets and phones) for hundreds of years Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) The network's official Twitter account is up and running again. What content…How might modern humans leave a message for 50,000 years?How would an aquatic race develop computers?How do we make computers care for human life?Keeping supplies for 1000 yearsWhat will cell phones become in 100 years?What body armor protects against a laser?Could a society attain 1800s technology if limited to using copper and bronze?Electricity power (magic) and electronicsScavenging metal resources in post-apocalypse after 100 yearsWhy would precursors create devices that can survive and still work after hundreds of years?

            155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해

            Convert JSON to MapSimplest way to convert a string representing JSON array into Java array List of key value pairsHow to take String JSON values into HashMapConvert a JSON String to a HashMapCreating BSON object from JSON stringJSONObject - How to get a value ?Better Map ConstructorReading JSON from Url javaUpdate columns if input values are not null otherwise ignore and keep the existing values of column in databaseHow to store object represented as Json string into Couchbase Lite?Go JSON into MapHow do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesHow to round a number to n decimal places in JavaCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?Why does Google prepend while(1); to their JSON responses?Parse JSON in JavaScript?