我正在try 创建一个模型,在该模型中我可以存储其他应用程序的用户名和密码.如何在Django中设置密码字段,使其在管理中不是纯文本形式?提前谢谢您.

推荐答案

作为@mlissner suggested,auth.User型号是个不错的 Select .如果你判断source code,你会发现password字段是CharField.

password = models.CharField(_('password'), max_length=128, help_text=_("Use 
'[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change password form</a>."))

User型号也有set_password方法.

def set_password(self, raw_password):
    import random
    algo = 'sha1'
    salt = get_hexdigest(algo, str(random.random()), str(random.random()))[:5]
    hsh = get_hexdigest(algo, salt, raw_password)
    self.password = '%s$%s$%s' % (algo, salt, hsh)

您可以从此方法中获得一些有关创建和保存密码的线索.

Django相关问答推荐

仅更新模型中的特定字段.Model Django

如何在Django中将字段及其数据从一个模型添加到另一个模型?

Django-无法显示基于字段值的元素

Django 隐藏特定人员的媒体文件链接

AttributeError:模块rest_framework.serializers在 Swagger 中的 Django 中没有属性NullBooleanField

Django中的 联合(Union) 和相交(Intersect)

PyCharm:强制 Django 模板语法突出显示

Django 独立脚本

使用 Django 和 South 重命名应用程序

在 Django 的 TextField 中禁用 HTML 转义

Django 视图 - 首先从调用应用程序的目录加载模板

Django模型字段按变量

无效的块标签: static

django 管理列表中的外键显示

AssertionError: `HyperlinkedIdentityField` 需要序列化程序上下文中的请求

获取 django 应用的绝对路径

刷新时重新提交的django表单

Django/Python初学者:执行python manage.py syncdb时出错-找不到psycopg2

过滤查询参数

如何更改 ModelForm 中所有 Django 日期字段的默认小部件?