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;
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
|
show 1 more comment
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
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
|
show 1 more comment
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
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
python django python-3.x django-views
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
|
show 1 more comment
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
|
show 1 more comment
1 Answer
1
active
oldest
votes
Your decorator should apply to the get
method, not the class itself:
class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Your decorator should apply to the get
method, not the class itself:
class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...
add a comment |
Your decorator should apply to the get
method, not the class itself:
class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...
add a comment |
Your decorator should apply to the get
method, not the class itself:
class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...
Your decorator should apply to the get
method, not the class itself:
class TimesheetListApiV2(APIView):
@valid_accesstoken_check
def get(self, request):
...
answered Mar 26 at 10:32
albaralbar
2,0841 gold badge9 silver badges19 bronze badges
2,0841 gold badge9 silver badges19 bronze badges
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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