第五次作业:用户认证
一、实验目的理解 Django 内置的用户认证系统Auth的工作原理。掌握authenticate、login、logout核心方法的使用。实现用户登录、会话保持、退出登录的完整流程。二、实验环境操作系统Windows开发工具VSCode开发语言Python 3.14框架Django 6.0.4三、实验原理Django Auth 模块提供了一套开箱即用的用户认证系统auth.authenticate(username, password)验证用户账号密码是否正确。auth.login(request, user)将用户信息写入 Session实现登录状态保持。auth.logout(request)清空 Session退出登录。login_required装饰器限制未登录用户访问指定页面。四、实验步骤创建 Django 项目与应用配置settings.py注册应用与模板路径。INSTALLED_APPS [ django.contrib.admin, django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.messages, django.contrib.staticfiles, user, # 加这行 ] TEMPLATES [ { BACKEND: django.template.backends.django.DjangoTemplates, DIRS: [BASE_DIR / templates], # 加这行 APP_DIRS: True, OPTIONS: { context_processors: [ django.template.context_processors.debug, django.template.context_processors.request, django.contrib.auth.context_processors.auth, django.contrib.messages.context_processors.messages, ], }, }, ]编写登录、首页、退出登录三个视图函数。配置项目路由与应用路由。编写登录与首页 HTML 模板。初始化数据库创建超级用户。运行python manage.py migrate运行python manage.py createsuperuser启动服务测试登录流程。运行python manage.py runserver浏览器打开http://127.0.0.1:8000/user/login/五、实验结果访问/user/login/输入正确的账号密码成功跳转到首页并显示用户名。未登录用户直接访问/user/index/会被重定向到登录页面。点击 “退出登录”用户会话被清空跳转到登录页面。六、实验总结本次实验实现了 Django 内置用户认证系统的基础功能理解了 Session 与 Cookie 在登录状态保持中的作用掌握了 Django Auth 模块的核心用法。