Django 1.6 - showProfile()得到一个意外的关键字参数'id'

时间:2014-05-27 08:29:53

标签: python django user-profile

我正在尝试显示用户个人资料,但我一直收到此错误消息?我怀疑网址/观点中出现了问题。我试过这个get user profile in django

这是我的models.py

class DoctorSeeker(models.Model):
    name = models.CharField(max_length=30)
    email = models.EmailField()
    user = models.OneToOneField(User, unique=True)

    def __unicode__(self):
        return u"%s %s" % (self.name, self.email)

def create_seeker_profile(sender, instance, created, **kwargs):
    if created:
        DoctorSeeker.objects.get_or_create(user=instance)

post_save.connect(create_seeker_profile, sender=User)

views.py

def showProfile(request):
    profile = request.user.get_profile()
    return render(request,'/profile.html')

urls.py

 url(r'^profile/(?P<id>\d+)/$', views.showProfile, name='showProfile'),

这是我试图通过标题

访问它的地方
<li><a href="/profile/{{user.id}}">My Profile</a></li>

1 个答案:

答案 0 :(得分:1)

在您的网址中,您定义id,并将其传递给视图处理程序showProfile,但视图处理程序签名是错误的。

更改视图处理程序,在请求后添加参数id

def showProfile(request, id):
    profile = request.user.get_profile()
    return render(request,'/profile.html')