创建档案的第一步是定义一个模型(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