2

URL: http://twitter.github.com/bootstrap/base-css.html#forms

追加する必要があると言われています

<fieldset
class="control-group error">
…
</fieldset>

しかし、どこにそれを追加しますか?

パスワードが一致しない場合、ユーザー名が既に使用されている場合、電子メール アドレスが有効でない場合は、入力フィールドに赤い枠線を表示し、右側にエラー メッセージを表示します (Twitter Boostrap フォーム ページのように) )

これが私のregistration_form.htmlテンプレート全体です。デフォルトで 4 つのフィールドを含む {{ form }} タグがあります。

  1. ユーザー名
  2. Eメール
  3. パスワード
  4. パスワード(再度)

registration_base.htmlは、ページの基本構造を含む base.html を単純に拡張したものです。

{% extends "registration/registration_base.html" %}
{% block title %}Register for an account{% endblock %}
{% block content %}

<table>
    <form method='post' action='' class="control-group error" >{% csrf_token %}
        {{ form }}
        <tr><td></td><td><input type="submit" value="Register" /></td>
    </form>
</table>
{% endblock %}

例: ここに画像の説明を入力

4

1 に答える 1

4

django-bootstrapは、これを自動的に行う優れたライブラリです。レンダリングするカスタム Form オブジェクトの使用に依存しています。django-registration で登録プロセスに使用されるデフォルトのフォームはregistration.forms.RegistrationFormUniqueEmail. この形式を django-bootstrap と組み合わせるには、両方から継承する新しいクラスを定義する必要があります。たとえば、これを forms.py ファイルに配置します。

# forms.py
from bootstrap.forms import BootstrapForm
from registration.forms import RegistrationFormUniqueEmail
class RegistrationForm(RegistrationFormUniqueEmail, BootstrapForm):
    pass

次に、この新しいフォームを使用するように django-registration に指示する必要があります。django-registration のデフォルト設定は、これを urls.py に追加することです:

# urls.py
(r'^accounts/', include('registration.backends.default.urls')),

ただし、これはデフォルトのフォームを使用します。カスタマイズするために、URL を明示的に指定できます。それらを django-registration のデフォルトのバックエンド urls.pyからコピーします。登録のデフォルト エントリは次のようになります。

# urls.py
from registration.views import register
url(r'^register/$',
    register,
    {'backend': 'registration.backends.default.DefaultBackend'},
    name='registration_register'),

カスタム フォーム オブジェクトを使用することを指定するには、次のようにパラメータを渡すことができるとドキュメントに記載されています。form_class

# urls.py
from yourapp.forms import RegistrationForm
from registration.views import register
url(r'^register/$',
    register,
    {'backend': 'registration.backends.default.DefaultBackend'
     'form_class': RegistrationForm},
    name='registration_register'),

django-registration で使用されるすべてのフォームに対して、このプロセスを繰り返すことができます。エラーが存在する場合、結果の登録フォームは次のようになります。

ここに画像の説明を入力

于 2012-04-16T23:58:41.993 に答える