1

私は Django を初めて使用し、Django でユーザー登録フォームを作成したいと考えています。モデルの作成中に、fieldtype->PasswordField() をパスワード フィールドに指定しましたが、このモデルをターミナルで実行するとエラーが発生しました

password=models.PasswordField()
AttributeError: 'module' object has no attribute 'PasswordField'

したがって、Django でパスワードにどのフィールド タイプが使用されているかを知りたいのですが、既にフォーム doc を参照していますが、何も見つかりませんでした。

だから私を助けてください

4

2 に答える 2

4

仮説

  1. django.db.models.CharFieldを使用してください。これは、パスワード文字列に使用できるデータベースの列タイプであるためです。

  2. django.forms.PasswordWidgetを使用して、このフィールドをフォームで表現します。デフォルトのフォーム フィールド ウィジェットのオーバーライドを参照してください。

models.py:

from django.db import models


class YourModel(models.Model):
    password = models.CharField(max_length=200)

フォーム.py:

from django import forms

from models import YourModel


class YourModelForm(forms.ModelForm):
    class Meta:
        widgets = {'password': forms.PasswordField}
        model = YourModel
于 2012-08-27T07:37:49.020 に答える
2

PasswordField()ジャンゴにはありません。パスワードを保存するために使用できCharField()ますが、HTML フォームでパスワード入力タイプとして表示するには、それにウィジェットを指定できます。

例:

password = forms.CharField(widget=forms.PasswordInput())

詳細については、PasswordInputを参照してください。

于 2012-08-27T07:38:27.523 に答える