DJANGO-如何使用;自定义属性“;在没有永久更改的外部应用程序窗体中

DJANGO-如何使用;自定义属性“;在没有永久更改的外部应用程序窗体中,django,django-templates,Django,Django Templates,我想将外部应用程序表单字段更改为在我的应用程序的特定模板中使用 我想为如下所示的字段提供属性值 body = forms.CharField(widget=forms.Textarea(attrs={'class':'textarea', 'rows':'', 'cols':"", 'onclick':"this.style.height='250px';"})) title = forms.CharField(widget=forms.TextInput(attrs={'class':'tex

我想将外部应用程序表单字段更改为在我的应用程序的特定模板中使用

我想为如下所示的字段提供属性值

body = forms.CharField(widget=forms.Textarea(attrs={'class':'textarea', 'rows':'', 'cols':"", 'onclick':"this.style.height='250px';"}))
title = forms.CharField(widget=forms.TextInput(attrs={'class':'text'}))
tags = forms.CharField(widget=forms.TextInput(attrs={'class':'text'}))

我知道,我可以在external apps forms.py中分配这些属性;但我需要为特定模板分配这些属性,以免影响应用程序的其他部分。

如果您只想在单个模板上分配这些属性,则有两种选择:

  • 在该模板中手动布局表单。缺点是它不是很干,如果可重用应用程序的形式在将来的升级中发生变化,您将有更多的工作要做更新模板

  • 在呈现该模板的视图中创建表单实例后,将这些属性修补到字段对象上。如果该视图也是可重用应用程序的一部分,那么如果您必须自己重新实现该视图,也可能会导致一些干冲突


  • 我肯定会在这里硬编码表单。保持新视图与任意模型/urlpattern更改同步比保持显示逻辑与对特定表单的更改同步要复杂得多。