相关疑难解决方法(0)

如何在模型django中创建密码字段

我想在视图中创建密码作为密码字段.请有人帮帮我吗?提前致谢

class User(models.Model):
    username = models.CharField(max_length=100)
    password = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

python django django-models django-forms

28
推荐指数
3
解决办法
7万
查看次数

Django自定义字段:只对DB上的值运行to_python()?

如何确保仅在从DB加载字段中的数据时调用自定义字段的*to_python()*方法?

我正在尝试使用自定义字段来处理单个模型属性的Base64编码/解码.在我实例化模型的新实例并使用其明文值设置此属性之前,所有内容似乎都正常工作......此时,Django尝试解码该字段但因为它是纯文本而失败.

自定义字段实现的吸引力在于我认为我可以处理100%的编码/解码逻辑,因此我的代码中没有其他部分需要知道它.我究竟做错了什么?

(注意:这只是一个例子来说明我的问题,我不需要关于我应该或不应该使用Base64编码的建议)

def encode(value):
    return base64.b64encode(value)

def decode(value):
    return base64.b64decode(value)


class EncodedField(models.CharField):
    __metaclass__ = models.SubfieldBase

    def __init__(self, max_length, *args, **kwargs):
        super(EncodedField, self).__init__(*args, **kwargs)

    def get_prep_value(self, value):
        return encode(value)

    def to_python(self, value):
        return decode(value)

class Person(models.Model):
    internal_id = EncodedField(max_length=32)
Run Code Online (Sandbox Code Playgroud)

...当我在交互式shell中执行此操作时,它会中断.为什么在这里调用to_python()?

>>> from myapp.models import *
>>> Person(internal_id="foo")
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/base.py", line 330, in __init__
    setattr(self, field.attname, val)
  File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/subclassing.py", line 98, in __set__
    obj.__dict__[self.field.name] = self.field.to_python(value)
  File "../myapp/models.py", line …
Run Code Online (Sandbox Code Playgroud)

django field django-models

8
推荐指数
1
解决办法
3077
查看次数

如何在 QLineEdit 中隐藏密码

想要隐藏“*”键入的密码。但是密码显示为原始文本...

class Form(QDialog):
    def __init__(self, parent = None):
        super(Form,self).__init__(parent)

        self.usernamelabel = QLabel("Username : ")
        self.passwordlabel = QLabel("Password : ")
        self.username = QLineEdit()
        self.password = QLineEdit()
        self.okbutton = QPushButton("Login")
        self.username.setPlaceholderText("Enter Username Here")
        self.password.setPlaceholderText("Enter Password Here")

        layout = QGridLayout()
        layout.addWidget(self.usernamelabel,0,0)
        layout.addWidget(self.passwordlabel,1,0)
        layout.addWidget(self.username,0,1)
        layout.addWidget(self.password,1,1)
        layout.addWidget(self.okbutton)
        self.setLayout(layout)
Run Code Online (Sandbox Code Playgroud)

passwords pyside qlineedit python-2.7

4
推荐指数
1
解决办法
6638
查看次数

如何加密django中的密码字段

我有一个名字,代码和密码的模型.我需要加密密码.另外,我不应该在密码字段中显示纯文本.我提到了这个链接

Django模型中的密码字段

但答案是陈旧的,需要知道目前的方法是什么.

我的模型如下

class Crew(models.Model):
    crew_id = models.AutoField(primary_key=True)
    crew_code = models.CharField(max_length=200, null=False, unique=True)
    crew_name = models.CharField(max_length=200, null=False)
    crew_password = models.CharField(max_length=200, null=False)
Run Code Online (Sandbox Code Playgroud)

python encryption passwords django

3
推荐指数
2
解决办法
3187
查看次数