ich ein django Modell Wie Klasse, id, Platzhalter-Attribute zu einem Feld in django Modell hinzuzufügen bildet
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
wie unten habenclass ProductForm(ModelForm):
class Meta:
model = Product
exclude = ('updated', 'created')
product_form.py (nur ein Beispiel)
<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>
Eigentlich möchte ich unter
<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">
So endlich die HTML-Ausgabe wie anzuzeigen/render wie Attribute (id, Platzhalter, Klasse) auf die Modellformularfelder in dem obigen Code hinzufügen?
Das funktionierte gut für mich, mit der Ausnahme, dass sie alle Optionen aus meiner Select-Widget gelöscht. Ich fand heraus, dass Sie die Widget-Deklaration alle zusammen übergehen können und trotzdem ihre Attribute wie folgt setzen: 'self.fields ['description']. Widget.attrs = { 'id': 'myCustomId', 'Klasse': 'myCustomClass', 'name': 'myCustomName', 'Platzhalter': 'myCustomPlaceholder'} ' scheint auch ein bisschen sauberer für mich. – bjesus
Wenn Sie Bootstrap-Klassen zu allen Formularen hinzufügen möchten, ohne jedes Mal den Konstruktor überschreiben zu müssen, lesen Sie bitte meine Antwort unten. – hurlbz