Django:如何在Django中培养经理
我是django的新手,正在从事一个我想成为经理和管理员的项目。我已经成为管理员,即超级用户,但我不知道如何才能成为经理 我曾试图成为一名经理,但这对我不起作用。 这是从中检测管理器的my views.pyDjango:如何在Django中培养经理,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,我是django的新手,正在从事一个我想成为经理和管理员的项目。我已经成为管理员,即超级用户,但我不知道如何才能成为经理 我曾试图成为一名经理,但这对我不起作用。 这是从中检测管理器的my views.py def login(request): if request.method =='POST': # print(request.POST) username = request.POST['username'] password = request.POST['pas
def login(request):
if request.method =='POST':
# print(request.POST)
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
print (user.has_perm('app.edit_task'))
# return redirect('index')
if user.is_superuser:
return redirect('master')
# elif user.has_perm('app.edit_task'):
# return redirect('manager')
elif user.is_staff:
return redirect('manager')
else:
return redirect('index')
else:
messages.error(request, 'Invalid Credentials')
return redirect('login')
else:
return render(request, 'vadash/sign-in.html')
这是我的模特
class manager(models.Model):
name = models.CharField(max_length= 500)
designation = models.CharField(max_length= 500)
class Meta:
permissions = [
("edit_task", "can edit the task"),
]
def __str__(self):
return self.name
class Create_Team(models.Model):
first_name = models.CharField(max_length= 50)
last_name = models.CharField(max_length= 50)
company_name = models.CharField(max_length= 100)
address = models.CharField(max_length= 1000)
state = models.CharField(max_length= 100)
status = models.CharField(max_length= 30)
managers = models.ForeignKey('manager', on_delete = models.SET_NULL, null=True)
我想知道我如何才能成为一名管理者,当我成为一名管理者时,它也会反映在Create_团队的数据库中。如果你想使用django auth系统创建不同的用户类型,你可以使用curstom用户模型创建超级用户。请参阅。如果有帮助,请检查此网站,而且此网站对于从头开始学习django非常有用
ps:您可能需要滚动查看答案您的manager类应该继承自AbstractBaseUser,而不是models.Model。请你为我写一些代码,以便我能更好地理解。评论中提供的链接有一个你想要的完整示例。只需更改代码以满足您的需要。有关更多信息,您还可以参考。