2015-04-29 3 views
0

У меня есть этот класс в views.pyPython Джанго - объект пользователя не найден

class getUserData: 
    def get(self, data): 
     try: 
      if self.user.username: 
       user = UserData.objects.get(Username=self.user.username) 
     except ObjectDoesNotExist: 
      print("Error!") 

и ..

def CheckUserData(request): 
    if not getUserData().get('ddd') 
     dsada 

На PyCharm - окна - его все ок. В Ubuntu показать мне ошибку: экземпляр getUserData не имеет атрибута 'пользователя'

Пожалуйста, помогите

+1

Вы не используете 'data' в' get'. Это намеренно? Обратите внимание, что ваш код кажется немного необычным в целом, вы можете объяснить, что вы пытаетесь сделать более подробно. –

ответ

0

сделать это

from django.views import generic 
class GetUserData(generic.View): 
    def get(self, *args, **kwargs): 
     user = self.request.user 
     if user.username: 
      myuser = UserData.objects.filter(username=user.username) 
      if myuser: 
       print 'coo' 
      else: 
       print 'nope' 

Если данные поступают из Get запроса, то сделать это:

get_data = self.request.GET # Parse get set after then blammo 
+0

Спасибо. Можете ли вы это сделать, но для нормальной работы не получите? Я не понимаю args, kwargs .. Я должен использовать: GetUserData.getData ("dsa") - Ваш код не работает - та же проблема. –

1

Весь фрагмент кода не нужен. self.user is уже экземпляр пользователя. Нет абсолютно никакого смысла получать имя пользователя этого пользователя и использовать его для повторного запроса модели User: вы просто вернете те же самые данные, с которых вы начали.

Просто используйте self.user напрямую.