1

Django1.4とDjango1.4を使用してWebサイトを開発していますdjango-registration

ユーザーが任意のUnicode文字を使用してユーザー名を作成できるようにしたいと思います。現在、ラテン文字以外の文字を使用して登録しようとすると、エラーメッセージが表示されます。この種の非ASCIIユーザー名を拒否するためのコードはにUserCreationFormあります。ここUserChangeFormを参照してください:

username = forms.RegexField(
        label=_("Username"), max_length=30, regex=r"^[\w.@+-]+$",
        help_text = _("Required. 30 characters or fewer. Letters, digits and "
                      "@/./+/-/_ only."),
        error_messages = {
            'invalid': _("This value may contain only letters, numbers and "
                         "@/./+/-/_ characters.")})

さて、変えたいと思います。独自に作成する必要があるという提案をいくつか見てきましたがUserCreationForm、動作が変更された派生クラスを作成するのは簡単なようです。

私が理解していないのはdjango-registration、カスタマイズしたものをどのように使用するUserCreationFormかということUserChangeFormです。もちろん、可能な限り、のソースを変更することは避けたいと思いdjango-registrationます。

4

1 に答える 1

2

http://docs.b-list.org/django-registration/0.8/views.htmlを参照してください

独自の登録フォームを作成したら、このフォームをdjango-registrationの登録ビューに渡すことができます。registration.backends.default.urlsモジュールを探す

url(r'^register/$', register,
     {'backend': 'registration.backends.default.DefaultBackend', 
     'form_class': MyRegistrationForm},
于 2012-09-10T18:44:32.527 に答える