我正在关注这些教程 https://simpleisbetterthancomplex.com/tutorial/2017/02/18/how-to-create-user-sign-up-view.html 制作一个简单的用户注册网站。
model.py中定义的关键模型是
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(max_length=500, blank=True)
location = models.CharField(max_length=30, blank=True)
birth_date = models.DateField(null=True, blank=True)
@receiver(post_save, sender=User)
def update_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
instance.profile.save()
在数据库中创建表 profile 。我的问题是我们如何附加此表以包含用户的姓/名和电子邮件等信息。我知道这些信息存储在 auth_user 中,但将一切都放在一个表上会很不错。
我是django平台的新手。非常感谢任何解释或参考。
答案 0 :(得分:0)
如果您想在个人资料模型中附加first_name,姓氏和电子邮件,则不需要此user = models.OneToOneField(User, on_delete=models.CASCADE)
所以基本上你可以删除这一行
和
将这些字段附加到模型中:
first_name = models.TextField(max_length=50, blank=True)
last_name = models.TextField(max_length=50, blank=True)
email = models.TextField(max_length=200, blank=True)
并运行命令: python manage.py makemigrations 然后 python manage.py migrate 但我不会建议你这样做。
我建议您使用django auth用户模型,因为这样您就可以非常轻松地添加django,就像维护会话等一样。 请关注: - https://docs.djangoproject.com/en/2.0/intro/tutorial01/