2026/2/19 4:50:29
网站建设
项目流程
网站技术招标怎么做,wordpress自动适应手机,网站如何做404页面,做家务的男人免费观看网站在 Django 中创建用户有多种方式#xff0c;具体取决于你是想通过 管理后台、命令行 还是 代码#xff08;视图/API#xff09; 来实现。
以下是三种最常用的方法#xff1a;1. 使用命令行创建管理员 (Superuser)
如果你是刚开始开发项目#xff0c;需要进入 Django Admin…在 Django 中创建用户有多种方式具体取决于你是想通过管理后台、命令行还是代码视图/API来实现。以下是三种最常用的方法1. 使用命令行创建管理员 (Superuser)如果你是刚开始开发项目需要进入 Django Admin 后台可以使用以下命令python manage.py createsuperuser系统会提示你输入Username: 用户名Email address: 邮箱Password: 密码输入时不会显示字符2. 在代码中创建普通用户如果你是在编写注册功能或逻辑脚本可以使用 Django 内置的User模型。推荐做法使用create_user方法它会自动处理密码加密。fromdjango.contrib.auth.modelsimportUser# 创建用户并保存到数据库userUser.objects.create_user(usernamemyusername,emailtestexample.com,passwordmypassword123)# 还可以设置其他属性user.first_nameJohnuser.last_nameDoeuser.save()[!IMPORTANT]注意千万不要使用User.objects.create()来创建用户因为这样会导致密码以明文形式存入数据库用户将无法登录。3. 使用 Django 管理后台这是最直观的图形化操作方式启动服务器python manage.py runserver。访问http://127.0.0.1:8000/admin。使用管理员账号登录。点击Users (用户)旁的Add ()按钮。输入用户名和密码即可。核心 API 参考表方法适用场景密码处理create_user()标准注册流程自动加密 (Hash)create_superuser()创建拥有所有权限的管理员自动加密 (Hash)User.objects.create()错误做法明文存储极不安全进阶建议自定义用户模型如果你正在开发一个新项目Django 官方强烈建议使用自定义用户模型 (Custom User Model)。这样以后你想用“手机号”或“邮箱”代替“用户名”登录时就不需要重构整个数据库了。如果你忘记了 Django 管理员Superuser的密码或者需要重置某个用户的密码可以根据你的权限等级选择以下方法1. 使用命令行重置最快捷如果你有服务器终端的访问权限这是最简单的方法。Django 提供了一个专门的命令来更改密码python manage.py changepassword用户名操作步骤运行上述命令例如python manage.py changepassword admin。按照提示输入新密码输入时字符不可见。确认新密码完成后系统会提示Password changed successfully。2. 通过 Django Shell 重置最灵活如果你不记得用户名或者需要批量操作可以使用 Python 交互式环境python manage.py shell在 Shell 中输入以下代码fromdjango.contrib.auth.modelsimportUser# 1. 查找用户如果你不记得名字可以先 User.objects.all() 查看userUser.objects.get(usernameyour_username)# 2. 设置新密码user.set_password(new_password123)# 3. 必须保存user.save()exit()3. 如果连用户名都忘了怎么办如果你完全不记得有哪些超级管理员可以先进入 Shell 查看列表fromdjango.contrib.auth.modelsimportUser# 列出所有超级管理员的用户名User.objects.filter(is_superuserTrue).values_list(username,flatTrue)4. 通过管理后台 (Admin)如果你已经登录了另一个具有“更改用户”权限的账号进入/admin/auth/user/。点击对应的用户名。在密码字段附近通常会有一个**“该表单不包含密码。你可以在此修改密码”**的链接。点击链接进入专用修改页面。常见问题提示Hash 加密永远不要直接在数据库如 SQLite 或 MySQL 客户端中手动修改密码字段因为 Django 存储的是经过PBKDF2算法加密的 Hash 值直接输入明文会导致无法登录。Session 失效修改密码后该用户在其他设备上的登录状态会失效Session 会更新。如果你正在使用自定义的用户模型Custom User Model导入方式可能略有不同。需要我演示如何获取自定义模型吗