如何在djangregistration中使用Boostrap的客户端验证?

2024-04-25 23:19:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

上面写着我必须补充

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

但我该在哪里补充呢?在

如果密码不匹配,如果用户名已经使用,如果电子邮件地址无效,我希望输入字段显示红色边框并在右侧显示错误消息(就像在Twitter bootrap表单页面中一样)

这是我的全部注册_表单.html模板。它有一个{form}}标记,默认情况下包括4个字段:

  1. 用户名
  2. 电子邮件
  3. 密码
  4. 密码(再次)

注册_基本.html简单地扩展基本.html,它包含页的基结构。在

^{pr2}$

示例: enter image description here


Tags: githubcomhttp密码表单base电子邮件html
1条回答
网友
1楼 · 发布于 2024-04-25 23:19:12

django-bootstrap是一个很好的库,它可以自动为您完成这项工作。它依赖于使用它为您呈现的自定义窗体对象。django注册中用于注册过程的默认形式是registration.forms.RegistrationFormUniqueEmail。要将此表单与django引导结合起来,您需要定义一个从两者继承的新类。例如,把这个放在表单.py文件:

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

接下来,您必须告诉django registration使用这个新表单。django注册的默认设置是将其添加到网址.py公司名称:

^{pr2}$

但是,这使用默认形式。要进行自定义,可以显式指定URL。从django注册的default backend urls.py复制它们。注册的默认条目如下所示:

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

要指定要使用自定义窗体对象,the documentation表示可以传递参数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注册中使用的所有表单重复此过程。出现错误时,生成的注册表如下所示:

enter image description here

相关问题 更多 >