简体   繁体   English

从Django扩展用户模型?

[英]Extend User Model from Django?

How I create new Users: 我如何创建新用户:

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

My extended User Model: 我的扩展用户模型:

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")

My question is how do I get the attribute "description" from an user? 我的问题是如何从用户那里获得属性“描述”?

I already know that I can get the "standard" user model via 我已经知道我可以通过“标准”用户模型获得

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

But getting the description doesnt work. 但是获得描述并不起作用。 I tried 2 different versions but it doesnt show "foo". 我尝试了2个不同的版本,但它没有显示“foo”。

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

Maybe is a fool answer but you have a miss spell. 也许是一个傻瓜的答案,但你有一个错过咒语。

Change: 更改:

{{ request.user.desciption }} {{request.user.desciption}}

For this: 为了这:

{{ request.user.description }} {{request.user.description}}
{{ request.user.reguser.description }}

You can access "reverse" side of the relation. 您可以访问关系的“反向”侧。 In this case user.reguser . 在这种情况下user.reguser Also check, if user has related RegUser instance. 如果user有相关的RegUser实例,请检查。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM