【发布时间】:2012-07-22 22:16:15
【问题描述】:
我正在尝试使用此处找到的其他一些问题/答案以及网络上的教程来扩展用户配置文件。我正在尝试将 UserProfile 模型包含在管理员中,以便我可以更改配置文件的详细信息(暂时暂时),但即使我在 admin.py 中包含 UserProfile 后它也没有显示,这让我相信我是这里做错了什么。
model.py
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
quote = models.CharField('Favorite quote', max_length = 200)
def create_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
urlconf
(r'^accounts/register/$', 'register'),
view.py 中注册用户的视图
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
new_user = form.save()
return HttpResponseRedirect('reserve/templates/index.html')
else:
form = UserCreationForm()
c = {'form': form}
return render_to_response("registration/register.html", c, context_instance=RequestContext(request))
admin.py
from reserve.models import UserProfile
from django.contrib import admin
admin.site.register(UserProfile)
【问题讨论】:
-
UserProfile 应该是 OneToOne 和 User。你的models.py中的缩进是否正确?看起来不对……
-
能否包含admin.py
-
@ColinDunklau:
ForeignKey(unique=True)是OneToOneField. -
@scytale:添加了 admin.py
标签: python django django-models django-admin