Je suis en train d'explorer des formulaires django et j'ai un problème avec lequel j'espère que quelqu'un pourra m'aider.NameError lors de la tentative de remplissage du champ de formulaire à partir du modèle
que je suis un exemple tiré de Creating forms from models | Django documentation
J'ai la forme;
# forms.py
from django import forms
from my_project.my_app.models import Author
class AuthorForm(forms.Form):
name = forms.CharField(max_length=100)
title = forms.CharField(max_length=3,
widget=forms.Select(choices=TITLE_CHOICES))
birth_date = forms.DateField(required=False)
et le modèle;
#models.py
from django.db import models
TITLE_CHOICES = (
('MR', 'Mr.'),
('MRS', 'Mrs.'),
('MS', 'Ms.'),
)
class Author(models.Model):
name = models.CharField(max_length=100)
title = models.CharField(max_length=3, choices=TITLE_CHOICES)
birth_date = models.DateField(blank=True, null=True)
def __unicode__(self):
return self.name
Cependant, lorsque je reçois l'erreur suivante lorsque j'essaie d'accéder au formulaire;
NameError à/
nom'TITLE_CHOICES' est pas défini
demande Méthode: GET URL de demande: http://192.168.1.111:8000/ Django Version: 1.2.4 Type d'exception: Exception NameError Valeur: nom 'TITLE_CHOICES' n'est pas défini
Y at-il quelque chose que je devrais faire pour autoriser forms.py t o accéder à TITLE_CHOICES dans models.py?
Merci d'avance.
Vous semblez avoir complètement ignoré ou mal interprété la documentation que vous lien. Ce n'est pas une forme de modèle - c'est une forme standard. Vous ne devriez pas avoir à re-déclarer les champs du tout. –