2010-11-03 5 views
3

J'ai un formulaire de téléchargement d'image qui prend un titre et un fichier pour son champ. J'ai deux utilisations pour cela. La plupart du temps je l'appelle, j'ai besoin à la fois d'un titre et de l'image elle-même. Mais quand je l'appelle simplement pour attraper une vignette, je n'ai pas besoin du titre. En fait, les données de formulaire sont enregistrées dans un modèle différent qui n'a même pas de titre en tant que champ.Exclure le champ de formulaire lors de l'appel du formulaire

Existe-t-il un moyen de supprimer le champ "title" lorsque j'appelle le formulaire? Je pourrais créer deux classes de formulaire dans mon forms.py, mais cela semble inutilement répétitif.

Répondre

3

Ecrire un constructeur pour la classe de formulaire

def __init__ (self, show_title=True): 
    super (BaseClass, self).__init__() 
    if not show_title: 
     del self.fields['title'] 
+1

Cela fonctionne très bien sauf pour une chose. Maintenant, je reçois des erreurs de validation: "Ce champ est obligatoire" que je supprime le champ titre ou non. Chaque fois que j'essaie de soumettre le formulaire, il me dit que je dois entrer des données. –

Questions connexes