【问题标题】:Django 1.6 - showProfile() got an unexpected keyword argument 'id'Django 1.6 - showProfile() 有一个意外的关键字参数“id”
【发布时间】:2014-05-27 08:29:52
【问题描述】:

我正在尝试显示用户个人资料,但我不断收到此错误?我怀疑网址/视图中有问题。我试过关注这个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>

【问题讨论】:

    标签: python django user-profile


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      • 2021-10-29
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      相关资源
      最近更新 更多