django用户身份验证,从视图中使用或创建的管理员?

时间:2013-03-26 21:05:05

标签: django authentication django-admin django-views

我是Django的新手。我已经完成了所有教程,现在想创建一个简单的用户身份验证,以便能够访问我站点中的页面。

我的问题是我是否应该使用管理员身份验证?或者我应该使用用户名和密码创建自己的客户视图并使用DJango身份验证API?

为了澄清,我有一个我想要安全的页面,只有在用户有权查看时才能查看。在内置的Django管理员中这是否合理?似乎Django管理员允许创建与应用程序模型相关的新记录。

谢谢!

1 个答案:

答案 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