J'essaie d'écrire une application django très simple. Je ne peux pas l'obtenir pour montrer ma forme à l'intérieur de mon modèle.django newbie. J'ai des problèmes avec ModelForm
<form ...>
{{form.as_p}}
</form>
cela ne montre absolument rien. Si j'ajoute un bouton de soumission, cela ne montre que ça.
Dois-je déclarer un objet de formulaire héritant de forms.Form? Peut-il être fait avec ModelForms?
[MISE À JOUR] Résolu! (Excuses pour perdre votre temps)
Dans mon dossier urls j'avais:
(r'login/$',direct_to_template, {'template':'register.html'}
à Switched:
(r'login/$','portal.views.register')
Et oui, je me sens mal.
Contexte:
J'ai un modèle d'étudiant, et j'ai une page d'inscription. Quand il est accédé, il devrait afficher un champ de texte demandant le nom des étudiants. Si l'étudiant complète ce champ, il l'enregistre.
#models.py
class Student(models.Model):
name = models.CharField(max_length =50)
#forms.py
class StudentForm (forms.ModelForm):
class Meta:
model = Student
Alors, voici mon avis:
def register(request):
if request.method == 'POST':
form = StudentForm(request.POST)
if form.is_valid():
form.save()
return render_to_response('/thanks/')
else:
student = Student()
form = StudentForm(instance =student)
return render_to_response('register.html',{'form':form})
Vous n'avez pas besoin de transmettre une instance pour créer un nouvel étudiant. Je ne suis pas sûr que ce soit ce qui fait que le formulaire ne fonctionne pas, mais c'est définitivement inutile. –
Mon mauvais: J'utilisais la fonction direct_to_template dans mon fichier urls.py Merci à tous! – Tom