posts - 431,  comments - 344,  trackbacks - 0

创建档案的第一步是定义一个模型(model)来存储档案信息。Django对这个模型所做的唯一的限制是,必须要包含唯一的一个
对User 模型的 ForeignKey ,而且这个字段必须要叫做 user 。其他的字段可以由你自己掌控。

1. 创建app

manage.py startapp users

2. 编写profile model

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

GENDER_CHOICES = (
                  ('M', '男'),
                  ('F', '女'),
                  )

class UserProfile(models.Model):
    # 这个字段是必须的,并且只能为user,且要添加外键关联到User
    user = models.ForeignKey(User, unique=True, verbose_name='用户的额外信息')
    # 以下可以按各自需求来定义
    tel = models.CharField('电话', maxlength=20, blank=True, null=True)
    mobile = models.CharField('移动电话', maxlength=20, blank=True, null=True)
    address = models.CharField('家庭地址', maxlength=100, blank=True, null=True)
    website = models.URLField('个人主页', blank=True, null=True)
    birthday = models.DateField('出生日期', blank=True, null=True)
    gender = models.CharField('性别', maxlength=1, choices=GENDER_CHOICES, radio_admin=True, default='M')
    blog = models.URLField('个人主页', blank=True, null=True)
    QQ = models.CharField('QQ', maxlength=50, blank=True, null=True)
    MSN = models.CharField(maxlength=50, blank=True, null=True)
    IM = models.CharField(maxlength=50, blank=True, null=True)
    position = models.CharField('目前所在地', maxlength=200, blank=True, null=True)
    country = models.CharField('目前所在国家', maxlength=50, blank=True, null=True, default='中国')3. 设置AUTH_PROFILE_MODULE

AUTH_PROFILE_MODULE = 'users.UserProfile' #不区分大小写的

4. 添加INSTALLED_APPS

INSTALLED_APPS = (

...............
    'web.users',
)

5. 同步数据库

manage.py syncdb

 

只需使用User.get_profile()方法即可返回对应的UserPrfile对象实例了。

posted on 2009-04-22 14:54 周锐 阅读(492) 评论(1)  编辑  收藏 所属分类: Python

只有注册用户登录后才能发表评论。


网站导航: