Django身份验证与会话设置详解

需积分: 11 74 下载量 72 浏览量 更新于2024-08-09 收藏 7.34MB PDF 举报
"Django是用于构建Web应用程序的高级Python框架,它强调了可重用性和遵循‘DRY’(Don't Repeat Yourself)原则。在Django中,会话设置、身份验证和消息设置是核心功能,它们对于确保用户安全、交互性和应用程序的高效运行至关重要。 D.8.2身份验证设置主要涉及到用户认证过程。`AUTHENTICATION_BACKENDS` 设置定义了Django用来验证用户身份的后端,其默认值为 `django.contrib.auth.backends.ModelBackend`,即使用内置的基于模型的身份验证。`AUTH_USER_MODEL` 设置指定了用户模型,通常为 `auth.User`,这是Django默认的用户模型。`LOGIN_REDIRECT_URL` 是用户成功登录后的重定向URL,`LOGIN_URL` 是用户未登录时访问受保护页面时被重定向的登录页面,而 `LOGOUT_URL` 是用户登出的URL。`PASSWORD_RESET_TIMEOUT_DAYS` 设置了密码重置链接的有效期,默认为3天。`PASSWORD_HASHERS` 列出了支持的密码哈希算法,这些算法用于存储和验证用户密码,确保安全性。 D.8.3消息设置涉及到应用程序向用户显示的反馈信息。`MESSAGE_LEVEL` 设置了默认的消息级别,如 `INFO`,`DEBUG` 等。`MESSAGE_STORAGE` 定义了如何存储和检索消息,这里使用的是 `django.contrib.messages.storage.fallback.FallbackStorage`。`MESSAGE_TAGS` 是一个字典,关联了不同级别的消息与其HTML类名,例如,`ERROR` 级别的消息将被标记为 `'error'` 类。 D.8.4会话设置则关乎用户会话的管理。`SESSION_CACHE_ALIAS` 指定了用于存储会话数据的缓存别名,默认为 'default'。`SESSION_COOKIE_AGE` 设置了会话cookie的有效时间,默认为1209600秒,即2周。`SESSION_COOKIE_DOMAIN` 可以设置为特定的域名,允许跨子域共享会话。`SESSION_COOKIE_HTTPONLY` 设为True,防止通过JavaScript访问会话cookie,增加安全性。`SESSION_COOKIE_NAME` 是会话cookie的名称,默认为 'sessionid'。 这本书《精通Django》由Nigel George撰写,安道翻译,提供了Django 1.8 LTS的详细指南。书中涵盖了从安装Django到使用模型、视图、URL配置、模板、模型管理后台和表单等多个方面,是学习和深入理解Django的宝贵资源。" 以上内容详细解释了Django中的关键配置,包括身份验证、消息和会话设置,以及书中的章节概览,展示了Django开发的基本流程和重要概念。