2011-07-23 5 views
1

Je veux seulement créerAfficher un seul champ de formulaire dans les modèles django?

forms.ChoiceField(choices=CHOICES) 
champ

pour créer une sélection simple élément html. Parce que c'est tout ce que je veux, je ne veux pas vraiment créer une nouvelle classe de formulaire etc. Donc est-il un moyen de rendre un seul champ de formulaire dans les modèles django sans créer/passer dans un formulaire?

par exemple:

def index(request, template_name="main/index.html"): 
    select = forms.ChoiceField(choices=CHOICES) 
    return render_to_response(template_name, locals(), context_instance=RequestContext(request)) 

est-il un moyen que je peux faire {{select}} dans le modèle de django ou quelque chose comme ça pour créer un élément de sélection?

Merci d'avance!

Répondre

1

Si vous n'avez pas besoin d'une classe de formulaire Django complète, je vous recommande de simplement passer la liste de choix au modèle et d'itérer dessus pour créer les tags <option /> pour le <select>. C'est beaucoup plus facile que d'essayer de rendre un widget de formulaire au niveau du template, imo.

+2

J'ai fini par faire cela, mais je suis toujours curieux si un seul champ de formulaire dans un modèle est possible. – Derek

1

Un seul domaine de choix? pourquoi ne pas simplement écrire tout le code HTML dans votre modèle et seulement envoyer la dict CHOICES à votre modèle en utilisant templatetags pour le gérer.

Questions connexes