創(chuàng)建檔案的第一步是定義一個模型(model)來存儲檔案信息。Django對這個模型所做的唯一的限制是,必須要包含唯一的一個
對User 模型的 ForeignKey ,而且這個字段必須要叫做 user 。其他的字段可以由你自己掌控。
1. 創(chuàng)建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,且要添加外鍵關(guān)聯(lián)到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. 設(shè)置AUTH_PROFILE_MODULE
AUTH_PROFILE_MODULE = 'users.UserProfile' #不區(qū)分大小寫的
4. 添加INSTALLED_APPS
INSTALLED_APPS = (
...............
'web.users',
)
5. 同步數(shù)據(jù)庫
manage.py syncdb
只需使用User.get_profile()方法即可返回對應(yīng)的UserPrfile對象實例了。
posted on 2009-04-22 14:54
周銳 閱讀(497)
評論(1) 編輯 收藏 所屬分類:
Python