Django 1.6 - showProfile() 接收到意外的关键字参数'id

0 投票
1 回答
1402 浏览
提问于 2025-04-18 07:41

我正在尝试显示用户的个人资料,但总是遇到这个错误。我怀疑在网址或视图上可能有问题。我试着参考了这个在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 个回答

1

在你的网址中,你定义了一个 id,并把它传给了处理显示的函数 showProfile,但是这个函数的写法有问题。

你需要修改这个处理函数,在请求后面加上 id 这个参数:

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

撰写回答