2013-03-03 66 views
-1

我认为它起源于这种观点,因为它被转移到主视图(见下图):Django的customuser匹配查询不存在

@login_required 
def HomePage(request): 
    if request.user.get_profile().phone == "": 
     return HttpResponseRedirect('/phone') 
    else: 
     add_list = add.objects.all() 
     ctx = {'last_login':request.session.get('social_auth_login_backend')} 
     return render_to_response("homepage.html", {'add_list': add_list, 'ctx':ctx}, context_instance=RequestContext(request)) 

和模型:

class customuser(models.Model): 
    last_login = models.DateTimeField(blank=True, null=True) 
    is_active = models.BooleanField() 
    nickname = models.CharField(max_length=255) 
    regdate = models.DateField(auto_now=True) 
    phone = models.CharField(max_length=255) 
    user = models.OneToOneField(User) 
    city = models.ForeignKey(locations, null=True) 

    def __str__(self): 
     return "%s user " % self.user 

    def create_user_profile(sender, instance, created, **kwargs): 
     if created: 
      profile, created = customuser.objects.get_or_create(user=instance) 

    post_save.connect(create_user_profile, sender=User) 

    class Admin: 
     pass  
+0

http://dirkgorissen.com/2011/04/18/site-matching-query-does-not-exist-with-djangoappengine-pydev/ – 2013-03-03 20:46:57

+1

的了么堆栈跟踪?这发生在哪里? add.objects.all中的add模型是什么? – 2013-03-03 22:11:16

回答

0

我我不确定这是否是问题的原因,但是您传递给模板的上下文字典看起来是错误的。该视图可能应该重写 -

def HomePage(request): 
    if request.user.get_profile().phone == "": 
     return HttpResponseRedirect('/phone') 
    else: 
     ctx = {'last_login':request.session.get('social_auth_login_backend'), 
       'add_list': add.objects.all()} 
     return render(request, "homepage.html", ctx)