我正在尝试为我的django应用创建注册表单。为此,我扩展了用户模型。这是我的 Forms.py扩展django用户模型
from contact.models import register
from django import forms
from django.contrib import auth
class registerForm(forms.ModelForm):
class Meta:
model=register
fields = ('latitude', 'longitude', 'status')
class Meta:
model = auth.models.User # this gives me the User fields
fields = ('username', 'first_name', 'last_name', 'email')
,这是我model.py
from django.db import models
from django.contrib.auth.models import User
STATUS_CHOICES = (
('Online', 'Online.'),
('Busy', 'Busy.'),
('AppearOffline', 'AppearOffline.'),)
class register(models.Model):
user = models.ForeignKey('auth.User', unique = True)
latitude = models.DecimalField(max_digits=8, decimal_places=6)
longitude = models.DecimalField(max_digits=8, decimal_places=6)
status = models.CharField(max_length=8,choices=STATUS_CHOICES, blank= True, null=True)
我不知道我在哪里犯了一个错误。在登录 处不接受用户密码,并且不会针对创建的用户用户保存纬度和经度。 我刚刚对django很陌生,不知道该怎么办 任何机构都有任何解决方案。
为什么使用用户配置的方式最好?这是我目前的做法,但我一直告诉自己,如果我通过继承来做,会更好。詹姆斯贝内特在扩展用户模型时写的博客非常老。从那以后,Django发生了重大变化。所以我想我的问题是:通过继承来做什么错了?有什么问题吗? (Django 1.2+) – rdegges 2010-06-06 01:38:33
我不认为这是通过继承做错了!这取决于你想实现什么,添加用户配置文件是非常推荐的方式,我猜如果只是添加两个字段,它完全可以! – 2010-06-06 10:25:27
感谢您的帮助......我这样做了,但又得到了另一个问题,只有一个密码字段显示在窗体上。和一个链接说“更改密码表单”,但甚至无法访问该链接它给了我一个页面未找到错误。和密码不保存在数据库中,当我从django管理员检查它的任何帮助谢谢 – MajorGeek 2010-06-06 11:03:58