【问题标题】:how to decouple style from django form?如何将样式与 django 形式分离?
【发布时间】:2013-08-28 08:37:15
【问题描述】:

我们的前端设计师(编程经验很弱)在python代码中使用attrs等来控制表单的外观有问题。

有没有推荐的方法来分离这些问题?

我遇到了django-crispy-forms,但不确定这是否是实现目标的正确工具。

【问题讨论】:

    标签: django forms templates decouple


    【解决方案1】:

    您的前端人员真的不应该修改 python 代码。一定要使用crispy-forms 为他提供特定表单元素所需的css ids/classes。但是,它仍然应该是您使用清晰的表单,因为它并不比修改字段属性以添加类/ID“更容易”,只是更全面和更强大。

    你没有在attrs 中使用style="" 来编写内联CSS 对吧?

    编辑:要回答您的评论,这实际上取决于前端人员所做的工作所涉及的内容。他是否一次为一个元素编写非常具体的规则?例如“此文本输入将与我们网站上的所有其他文本输入的行为不同......”还是他只想修改所有密码输入或所有选择框等的 css?如果是后者,他不应该到处添加attrs={"class": "select-box"} 到每个表单上的每个选择框小部件。 IMO 它成为 django 开发人员的工作,以确保每个表单字段都存在正确的类(crispy-forms 非常适合这样做)。

    如果他的工作涉及每 5 分钟麻烦您一次,要求将课程添加到 field_x 和 field_y,那么是的,也许最好让他自己做。但就向特定字段添加 id 而言,没有什么比标准的 attrs 用法更简单了。

    【讨论】:

    • 如果前端人员可以修改他需要的所有内容(包括 id/class/widgets-to-use/)以在 html 文件中完成他的工作,那会容易得多。因为这是他知道,我还需要在python中操作那些我认为属于前面的东西吗?即使是脆的形式?假设他需要定义 id 来为其创建规则,而会编写 python 代码的人必须将该 id 添加到表单元素中,这在 imo 中不好 :(
    猜你喜欢
    • 2012-07-13
    • 2012-08-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    相关资源
    最近更新 更多