【问题标题】:Django Form Package Application to Bootstrap 3Django Form Package Application to Bootstrap 3
【发布时间】:2015-03-17 17:49:35
【问题描述】:

您如何将 Django Form 从 Package Application 转换为 Bootstrap 3。就我而言,我正在使用来自 django-allauth 的表单。

我想将注册/登录表单转换为 Bootstrap3。我希望 Django Crispy 表单http://django-crispy-forms.readthedocs.org/en/latest/index.html 有这个功能,一直没找到。

【问题讨论】:

  • 您无法自动转换它们。你必须用你自己的副本覆盖 django-allauth 的模板并修改它们。然后你可以使用 django-crispy-forms 或 django-bootstrap3。

标签: python django forms twitter-bootstrap-3


【解决方案1】:

我没有使用 django-allauth 的经验,但您可能无法找到任何开箱即用的支持。但是,您应该能够将其每个视图子类化并在项目中注册 URL 模式,而不是包括其 urls.py。如果它使用基于函数的视图,那么覆盖将需要更多的工作。

基本上你想要做的是在你自己的子类中添加必要的清晰表单字段/包装器等到 django-allauth 提供的表单中,并改用这些类。在与 django-shop 打交道时,我已经成功地使用了这种方法,尽管我猜根据在设计 django-allauth 时是否/如何考虑可扩展性,里程会有些谨慎。

此外,正如 Selcuk 所指出的,根据您的需要覆盖模板文件可能就足够了,即将 {{ form }} 替换为 {% crispy my_form %}

【讨论】:

  • 不需要子类化视图;用你自己的覆盖默认模板就足够了。
  • 好点!但是,我认为您可能很想对视图进行子类化,但这取决于您需要什么样的引导功能。如果您只想使用清晰的模板标签 - 当然,不需要子类化。但是,如果您需要字段分组、输入附加等。子类化是 IMO 的方式。
猜你喜欢
  • 2014-03-17
  • 2022-12-27
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 2014-07-21
  • 2014-03-20
  • 2021-08-03
  • 2013-08-01
相关资源
最近更新 更多