【问题标题】:django customuser matching query does not existdjango customuser匹配查询不存在
【发布时间】:2013-03-03 19:56:50
【问题描述】:

我认为它起源于这个视图,因为它正在被转移到主视图(见下文):

@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    

【问题讨论】:

标签: django django-models django-forms django-views


【解决方案1】:

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

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)

【讨论】:

    猜你喜欢
    • 2021-07-26
    • 2015-01-28
    • 2022-01-05
    • 2020-10-15
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多