Python 链接个人用户';注释部分中的用户配置文件-Django

Python 链接个人用户';注释部分中的用户配置文件-Django,python,django,Python,Django,我需要将各个用户的个人资料链接到评论。目前,我的所有链接都将我带到登录用户的个人资料本身 我的用户模型@user_profile/models.py: class MyUser(AbstractBaseUser, PermissionsMixin): email = models.EmailField(_('email address'), max_length=254, unique=True) ....... .......

我需要将各个用户的个人资料链接到评论。目前,我的所有链接都将我带到登录用户的个人资料本身

我的用户模型@user_profile/models.py:

class MyUser(AbstractBaseUser, PermissionsMixin):        
    email = models.EmailField(_('email address'), max_length=254, unique=True)        
    .......
    .......

    objects = manager.CustomUserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['date_of_birth']

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def get_absolute_url(self):
        return "/users/%s/" % urlquote(self.email)
class Comment(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='comment_by', default=1)
    ....
我的个人资料模型:

class Profile(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL,
                                related_name="profile",
                                on_delete=models.CASCADE)
    bio = models.TextField(max_length=500, blank=True, default='')
    .....
    .....

    objects = manager.CustomProfileManager()

    def get_absolute_url(self):
        return reverse("user_profile:commenters_profile")

    @property
    def get_profile(self):
        instance = self
        content_type = ContentType.objects.get_for_model(instance.__class__)
        return content_type
注释/models.py:

class MyUser(AbstractBaseUser, PermissionsMixin):        
    email = models.EmailField(_('email address'), max_length=254, unique=True)        
    .......
    .......

    objects = manager.CustomUserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['date_of_birth']

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def get_absolute_url(self):
        return "/users/%s/" % urlquote(self.email)
class Comment(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='comment_by', default=1)
    ....
视图:

用户配置文件/url.py:

urlpatterns = [
    url(r'^$', myProfile, name='myProfile'),
    url(r'^$', commenters_profile, name='commenters_profile'),
]
模板:

<p><a href="{{ comment.user.profile.get_absolute_url }}"> {{ comment.user.get_full_name }}</a></p>
profile.html:

<div class="col-sm-8 col-md-3">
            <img src="{{ user.profile.photo.url }}", width="220", alt="", class="img-rounded img-responsive" />
            <br/><p> <i class="glyphicon glyphicon-envelope"></i> {{ user.email }}
                <br /> <i class="glyphicon glyphicon-gift"></i> {{ user.date_of_birth }}</p>
        </div>
        <div class="col-sm-4 col-md-6">
            <blockquote>
                <p><h2>{{ user.first_name }} {{ user.last_name }}</h2></p>
                <small><cite title="Source Title">Some Text Here <i class="glyphicon glyphicon-map-marker"></i></cite></small>
            </blockquote>
            <br/><p> {{ user.profile.bio }}</p>
        </div>


{{user.email}
{{user.date\u of\u birth}

{{user.first_name}{{user.last_name}}

这里有一些文字
{{user.profile.bio}

评论部分截图:

<div class="col-sm-8 col-md-3">
            <img src="{{ user.profile.photo.url }}", width="220", alt="", class="img-rounded img-responsive" />
            <br/><p> <i class="glyphicon glyphicon-envelope"></i> {{ user.email }}
                <br /> <i class="glyphicon glyphicon-gift"></i> {{ user.date_of_birth }}</p>
        </div>
        <div class="col-sm-4 col-md-6">
            <blockquote>
                <p><h2>{{ user.first_name }} {{ user.last_name }}</h2></p>
                <small><cite title="Source Title">Some Text Here <i class="glyphicon glyphicon-map-marker"></i></cite></small>
            </blockquote>
            <br/><p> {{ user.profile.bio }}</p>
        </div>

因为
myProfile
commenters\u profile
具有相同的正则表达式,所以您永远无法访问
commenters\u profile
,所有请求都将发送到
myProfile
。更改
commenters\u profile
url:

url(r'^(?P<pk>\d+)/$', commenters_profile, name='commenters_profile'),
和视图:

@login_required
def commenters_profile(request, pk):
    instance = get_object_or_404(Profile, pk=pk)

    context = {
        "title": instance.title,
        "instance": instance.get_profile(),
        }
    return render(request, "profile.html", context)

是否显示发表评论的用户的姓名?是。名称显示正确。我认为我的观点不正确。但是,我无法理解。给出了一个错误“commenters_profile()获得了一个意外的关键字参数'pk'。我在视图中做了什么更改?我做了同样的事情,但是现在它给了我一个TypeError“'ContentType'对象不可调用”。没有get_配置文件就无法工作。仅指向登录用户配置文件的链接。我已经用回溯和get_profile()实例更新了我的问题。get_profile()是一个打字错误。我添加了评论部分的截图,它确实显示了两个不同的用户。还附加了profile.html。将{{user.xxxx}}更改为{{instance.xxxx}无法检索数据。但没有错误(