django-从前端添加新用户
django- adding new user from the frontend
我已经学习 django 大约 1 个月了,我觉得最好的方法是做一个项目。我选择了一个简单的学校管理项目,但我有点不知所措。该项目有不同类别的用户,即学生和管理员。学校管理员应该登录并添加新学生,学生也应该登录并可以编辑他们的个人资料。我创建了另一个应用程序 UserProfile,其中 User 作为 foreignKey 和 category
class Category(models.Model):
name=models.CharField(max_length=200)
def __unicode__(self):
return self.name
class UserProfile(models.Model):
user=models.OneToOneField(User)
category=models.ForeignKey(Category)
def __unicode__(self):
return "%s "%(self.category.name)
我从管理站点添加了示例用户,到目前为止,我能够将学校管理员重定向到他应该添加新学生的前端仪表板。学生在登录时也会被重定向到学生页面。我有一个通用的登录表单。
我的第一个问题是,我应该像下面这样在学生模型中将用户作为外键吗?
class Student(models.Model):
user=models.OneToOneField(User)
regNum=models.CharField(max_length=200, unique=True)
lastName=models.CharField(max_length=200)
otherNames=models.CharField(max_length=200)
dateOfBirth=models.DateField()
idNo=models.IntegerField(default=123456)
email=models.EmailField()
contact=models.IntegerField(default=071234567)
HomeTown=models.CharField(max_length=200)
- 我如何处理添加新学生,以便管理员能够添加学生详细信息,包括学生登录密码,同时为学生分配类别。请注意,这是 django 中的新功能。谢谢
您需要创建一个 User 实例并将其与学生详细信息一起添加到学生。
如此处所述:
示例:
from django.contrib.auth.models import User
#place this after your form is valid
form=StudentForm(request.POST)
if form.is_valid():
#create student
username=form.cleaned_data['username']
email=form.cleaned_data['email']
password=form.cleaned_data['password']
user=User.objects.create_user(username=username,email=email,password=password)
#create your userprofile here
............
............
#using the user instance now create your student
student=Student.objects.create(user=user,regNum=''......)
.............
..............
我已经学习 django 大约 1 个月了,我觉得最好的方法是做一个项目。我选择了一个简单的学校管理项目,但我有点不知所措。该项目有不同类别的用户,即学生和管理员。学校管理员应该登录并添加新学生,学生也应该登录并可以编辑他们的个人资料。我创建了另一个应用程序 UserProfile,其中 User 作为 foreignKey 和 category
class Category(models.Model):
name=models.CharField(max_length=200)
def __unicode__(self):
return self.name
class UserProfile(models.Model):
user=models.OneToOneField(User)
category=models.ForeignKey(Category)
def __unicode__(self):
return "%s "%(self.category.name)
我从管理站点添加了示例用户,到目前为止,我能够将学校管理员重定向到他应该添加新学生的前端仪表板。学生在登录时也会被重定向到学生页面。我有一个通用的登录表单。 我的第一个问题是,我应该像下面这样在学生模型中将用户作为外键吗?
class Student(models.Model):
user=models.OneToOneField(User)
regNum=models.CharField(max_length=200, unique=True)
lastName=models.CharField(max_length=200)
otherNames=models.CharField(max_length=200)
dateOfBirth=models.DateField()
idNo=models.IntegerField(default=123456)
email=models.EmailField()
contact=models.IntegerField(default=071234567)
HomeTown=models.CharField(max_length=200)
- 我如何处理添加新学生,以便管理员能够添加学生详细信息,包括学生登录密码,同时为学生分配类别。请注意,这是 django 中的新功能。谢谢
您需要创建一个 User 实例并将其与学生详细信息一起添加到学生。
如此处所述:
示例:
from django.contrib.auth.models import User
#place this after your form is valid
form=StudentForm(request.POST)
if form.is_valid():
#create student
username=form.cleaned_data['username']
email=form.cleaned_data['email']
password=form.cleaned_data['password']
user=User.objects.create_user(username=username,email=email,password=password)
#create your userprofile here
............
............
#using the user instance now create your student
student=Student.objects.create(user=user,regNum=''......)
.............
..............