2009-10-10 5 views
0

Simplement, je vous écris:comment définir un widget dans un modèle attribut

# forms.py 
class NoteForm(ModelForm): 
def __init__(self, *args, **kwargs): 
    super(NoteForm, self).__init__(*args, **kwargs) 
    #add attributes to html-field-tag: 
    self.fields['content'].widget.attrs['rows'] = 3 
    self.fields['title'].widget.attrs['size'] = 20 

class Meta: 
    model = Note 
    fields = ('title','content') 

Pour ajouter ou modifier certains attributs au champ de balise HTML.

Mais cette fois-ci, je vais devoir le faire directement dans le modèle de note dans models.py

#models.py 
class Note(models.Model): 
    title = models.CharField(max_length=100) 
    content = models.TextField(max_length=255) 
    #how to define the fields.widget.attrs here ????? 

Pour information: Pourquoi? Parce que va travailler comme

NotesFormSet = inlineformset_factory(NoteBook, Note, extra=10) 

Pour ajouter de nombreuses notes lors de l'ajout/la modification d'un NoteBook

NOTE: Il est django admin

Si je ne suis pas vous donner suffisamment de contexte, des commentaires plz, Non, vous le faites toujours sous une forme, mais vous passez simplement cette forme en tant que paramètre à inlineformset_factory

Répondre

1

NotesFormSet = inlineformset_factory(NoteBook, Note, extra=10, form=NoteForm) 
+0

OMG! Cela fonctionne: D. Merci! – panchicore

Questions connexes