下载鸥 > 网站下载 > 开发教程 > Python

Django重置管理员密码

33 2025-03-13 07:13:51

收藏
Django重置管理员密码
Django项目如果忘记密码了,要如何重置管理员密码呢?请参考如下方案。
 

编写重置密码脚本

在后端根目录下创建重置文件repassword.py
import django
from django.conf import settings
from django.contrib.auth.hashers import make_password

# 手动配置 Django 设置
settings.configure(
    # 这里需要根据你的实际项目配置进行修改
    INSTALLED_APPS=[
        'django.contrib.auth',
        'django.contrib.contenttypes',
    ],
    DATABASES={
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '数据库名',
            'USER': '数据库用户名',
            'PASSWORD': '数据库密码',
            'HOST': '127.0.0.1',
            'PORT': 3306,
        }
    },
    PASSWORD_HASHERS=[
        'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    ]
)
django.setup()

new_password = "新密码"
hashed_password = make_password(new_password)
print(hashed_password)
 

执行脚本

终端进入虚拟环境,并执行
python repassword.py
执行后,终端会显示新密码的hash值,例如下面就是新生成的

pbkdf2_sha256$870000$RCoAYja4eI9OqoxB5p9V5l$wh0HErVLB++y82jHlUrseq0yR9yWRZMtvqF+3FWr2Y4=


复制生成的密码hash值,并通过navicat或其他软件进入数据库,粘贴为对应用户的password字段。

如此操作,就可以顺利重置密码。本方案虽然多了一个步骤,但其实可以在操作中检验是否有误,避免对网站造成更大影响,建议非熟手进行操作。

而如果对项目比较熟悉,更好的方案是通过脚本一步到位,如下。
 

一步到位方案

import django
from django.conf import settings
from django.contrib.auth.hashers import make_password

# 手动配置 Django 设置
settings.configure(
    # 这里需要根据你的实际项目配置进行修改
    INSTALLED_APPS=[
        'django.contrib.auth',
        'django.contrib.contenttypes',
    ],
    DATABASES={
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '数据库名',
            'USER': '数据库用户名',
            'PASSWORD': '数据库密码',
            'HOST': '127.0.0.1',
            'PORT': 3306,
        }
    },
    PASSWORD_HASHERS=[
        'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    ]
)
django.setup()

# 新密码和要重置密码的用户名
new_password = "your_new_password"
username = "your_admin_username"

# 生成新密码的哈希值
hashed_password = make_password(new_password)

# 执行 SQL 更新语句
try:
    with connection.cursor() as cursor:
        sql = "UPDATE auth_user SET password = %s WHERE username = %s"
        cursor.execute(sql, [hashed_password, username])
    print(f"成功将用户 {username} 的密码重置为新密码。")
except Exception as e:
    print(f"密码重置失败,错误信息: {e}")

两种方案都可以重置,老手用一步到位的方案二,而新手更建议用方案一,避免误操作导致网站崩溃。

注意,并不建议新手直接操作。

本文地址:https://xzo.com.cn/develop/python/1253.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于Python

Python免费、开源、简单,且含有海量的库。其功能也十分强大,不仅可以做网站、做爬虫、还可以做大数据、做人脸识别,等等等等。如果是新手入门,我们建议是首选Python。

推荐Python开发教程
Python中文分词器准确度与性能测试(jieba、FoolNLTK、HanLP、THULAC、nlpir、ltp)
Python中文分词器准确度与性能测试(jieba、FoolNLTK、HanLP、THULAC、nlpir、ltp)

国内知名度比较高的Python中文分词有哈工大LTP、中科院计算所NLPIR、清华大...

0 518
结巴分词的全模式、精确模式和搜索引擎模式用法与实例
结巴分词的全模式、精确模式和搜索引擎模式用法与实例

结巴分词支持3种模式:全模式、精确模式和搜索引擎模式,不同的模式效果会有差...

0 337
python多线程的概念与好处
python多线程的概念与好处

但凡对电脑知识了解多一点的朋友可能就听说过进程,而如果对蜘蛛爬虫有了解,那...

0 383
怎样用python爬虫爬取百度搜索图片
怎样用python爬虫爬取百度搜索图片

python爬虫爬取百度图片是很多人python爬虫入门后一个重要的练手项目。一方...

40 337
python爬虫怎样入门?
python爬虫怎样入门?

爬虫软件很多,支持爬虫功能的语言也很多,而用python做爬虫,辅以包罗万象的pyth...

0 391
推荐插件
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 972
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 275
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1127
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1157
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 364
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 779
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 362
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 337
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入