我是Django的新手。我已经完成了所有教程,现在想创建一个简单的用户身份验证,以便能够访问我站点中的页面。
我的问题是我是否应该使用管理员身份验证?或者我应该使用用户名和密码创建自己的客户视图并使用DJango身份验证API?
为了澄清,我有一个我想要安全的页面,只有在用户有权查看时才能查看。在内置的Django管理员中这是否合理?似乎Django管理员允许创建与应用程序模型相关的新记录。
谢谢!
答案 0 :(得分:1)
我更喜欢使用Django的内置身份验证系统。让我们假设您想创建自己的客户模型,并说出移动号码和推文句柄,您可以通过以下方式扩展Django的用户模型
from django.contrib.auth.models import User
class Customer(User):
mobile = models.CharField(max_length=12)
twitter = models.CharField(max_length=100)
在这种情况下,您不仅可以从Django的用户模型继承电子邮件,用户名等属性,还可以添加可以存储在数据库中的自定义属性。
保护页面的最简单方法是使用login_required装饰器。在保护页面安全的同时还要注意包含正确的URL,以确保包含Django的登录和注销URL