Proper Use of Django Mixins

So, I just started porting my old code to Class Based Views, and I'm still new to this. My question is related to Django mixins, where I have a mixin, which I am going to use in various classes to check some information. The problem is that I do not know how to access the information that it returns without receiving 500 internal errors.

class CheckTokenMixin(object): def request_token(self,request): params = {'username':settings.OAUTH_USERNAME,'password':hashlib.sha256(settings.OAUTH_PASSWORD).hexdigest()} req = Request(settings.REMOTE_SERVER+'oauth', urllib.urlencode(params)) return json.loads(urlopen(req).read()) def get_valid_token(self): if datetime.datetime.now() > request.session['access_token'].creation_date + datetime.timedelta(days=1): temp = self.request_token(request) tokenobj = AccessToken.objects.all()[:1].get() tokenobj.access_token = temp['token'] tokenobj.creation_date = datetime.datetime.now() tokenobj.save() request.session['access_token'] = tokenobj return request.session['access_token'] def get_context_data(self, **kwargs): ctx = super(CheckTokenMixin, self).get_context_data(**kwargs) ctx['access_token'] = self.get_valid_token() return ctx class RateAppView(LoginRequiredMixin, JSONResponseMixin, AjaxResponseMixin, CheckTokenMixin, View): @method_decorator(csrf_protect) def dispatch(self, *args, **kwargs): return super(RateAppView, self).dispatch(*args, **kwargs) def post_ajax(self, request, username): u = get_object_or_404(User, pk=current_user_id(request)) city_obj = City.objects.get(id=request.POST.get('city_id', None)) x = self.get_valid_token print "teste: " , x.access_token print "teste2: " , self.get_context_data.['access_token'].access_token 

I want something like

self.get_valid_token

or

self.get_context_data. ['Access_token']. Access_token

to access data from my mixin, how can I do it right?

+4
source share
1 answer

self.get_valid_token() will be correct. However, you have several errors in this method that no doubt cause the problem: in particular, you refer to request without defining it at any point. I expect you to mean self.request .

+4
source

All Articles