从Django扩展用户模型?

时间:2015-06-06 00:35:49

标签: python django

我如何创建新用户:

from twittexApp.forms import UserCreationForm
from django.views.generic import CreateView
from twittexApp.models import RegUser, User

class RegisterView(CreateView):
    template_name = 'register.html'
    model = RegUser
    success_url = '/login/'
    form_class = UserCreationForm

我的扩展用户模型:

from django.db import models
from django.contrib.auth.models import User

    class RegUser(models.Model):
        user = models.OneToOneField(User)
        description = models.CharField(max_length = 140, default="foo")

我的问题是如何从用户那里获得“描述”属性?

我已经知道我可以通过

获得“标准”用户模型
<h1>My Profile</h1>
<ul>
    <div>{{ request.user.username }}</div>
</ul>

但是获得描述并不起作用。我尝试了两个不同的版本,但它没有显示“foo”。

<h1>My Profile</h1>
<ul>
    <div>{{ request.user.desciption }}</div>
    <div>{{ request.user.reguser.desciption }}</div>
</ul>

2 个答案:

答案 0 :(得分:2)

也许这是一个傻瓜的答案,但你有一个错过的咒语。

变化:

{{request.user.desciption}}

为此:

{{request.user.description}}

答案 1 :(得分:1)

{{ request.user.reguser.description }}

您可以访问关系的“反向”侧。在这种情况下user.reguser。如果user有相关的RegUser实例,请检查。