我有一个django模型,如下所示

models.py

class Product(models.Model):
    name = models.CharField(max_length = 300)
    description = models.TextField(max_length = 2000)
    created = models.DateTimeField(auto_now_add = True)
    updated = models.DateTimeField(auto_now = True)

    def __unicode__(self):
        return self.name

forms.py

class ProductForm(ModelForm):
    class Meta:
        model = Product
        exclude = ('updated', 'created')

product_form.py(只是一个例子)

 <form enctype="multipart/form-data" action="{% url 'add_a_product' %}" method="post">
         <div id="name">
           {{form.name}}
         </div> 
         <div id="description">
           {{form.description}}
         </div> 
   </form> 

实际上,我想显示/呈现html输出,如下所示

<input id="common_id_for_inputfields" type="text" placeholder="Name" class="input-calss_name" name="Name">

<input id="common_id_for_inputfields" type="text" placeholder="Description" class="input-calss_name" name="description">

那么,最后如何在上面的代码中向模型表单字段添加属性(id、占位符、类)呢?

推荐答案

您可以执行以下操作:

#forms.py
class ProductForm(ModelForm):
    class Meta:
        model = Product
        exclude = ('updated', 'created')

    def __init__(self, *args, **kwargs):
        super(ProductForm, self).__init__(*args, **kwargs)
        self.fields['description'].widget = TextInput(attrs={
            'id': 'myCustomId',
            'class': 'myCustomClass',
            'name': 'myCustomName',
            'placeholder': 'myCustomPlaceholder'})

Django相关问答推荐

Django模型ManyToManyField.Add不起作用

Django Form初始值不在呈现上起作用

在模板中自动添加变量

Django 中主键的隐式 UUID 自动字段

断开连接不会发生

如何在 gunicorn conf 文件中指定 uvicorn 工作人员

Django PositiveIntegerField 中的 0 值?

如何从 json 模式创建表单?

如何在 django tests.py 中创建管理员用户

如何在 django 中处理这种竞争条件?

Django error:不能分配必须是实例

如何在 Django 模板上实现 back链接?

magic有什么问题?

CherryPy 与 Django

Django ModelChoiceField optgroup 标签

get_or_create() 线程安全吗

import_module 的 Django 1.9 ImportError

Django:以 10 为底的 int() 的无效文字

运行单元测试时禁用 Django South?

Django: Force强制 Select 相关?