2009-09-23 5 views
0

J'ai commencé à apprendre le django en utilisant le didacticiel de documentation officielle et j'ai créé ce formulaire d'inscription. J'ai toute la configuration de l'application, mais je suis bloqué sur la façon de traiter les données. Je veux dire que la documentation est un peu difficile à comprendre. Si je peux obtenir de l'aide, ce serait génial.module d'enregistrement django

Voici comment les modèles sont configurés:

class user (models.Model): 
    username = models.CharField(max_length=20) 
    name = models.CharField(max_length=25) 
    collegename = models.CharField(max_length=50) 
    event = models.CharField(max_length=30) 
    col_roll = models.CharField(max_length=15) 

    def __unicode__(self): 
     return self.username 

et c'est la forme index.html:

<form action="" method="post"></form> 
    <input name="username" type="text" maxlength="40" /> 
    <input name="name" type="text" maxlength="40" /> 
    <input name="collegename" type="text" maxlength="40" /> 
    <input name="event" type="text" maxlength="40" /> 
    <input name="col_roll" type="text" maxlength="40" /> 
    <input type="submit" value="Register" /> 
</form> 

je ne suis pas comment créer la vue pour cet enregistrement de un nouvel utilisateur. si quelqu'un pouvait m'aider, ce serait génial. La base de données (MySQL) est créée avec le nom (register_user). Je ne comprends pas comment mettre les valeurs de la forme ci-dessus dans la base de données. Si ça avait été du python normal, ça aurait été fait facilement, mais DJANGO je ne comprends pas.

Merci beaucoup.

Répondre

1

Vous ne semblez pas avoir lu le documentation on forms. Il explique en détail comment créer un formulaire à partir de votre modèle, comment l'afficher dans un modèle (vous n'avez donc pas besoin d'écrire les éléments d'entrée HTML manuellement) et comment le traiter dans une vue.

0

Il m'a fallu un peu de temps pour comprendre le bit de traitement de formulaire quand j'ai commencé. La première chose dont vous avez besoin avant d'arriver à la partie du formulaire est de créer un view function. La vue utilisera votre fichier index.html comme modèle. Dans cette vue, vous voulez créer un formulaire (soit à partir du lien de Daniel ci-dessus ou par creating a form from your model). Une fois que vous avez une classe de formulaire, fournissez une copie instanciée de celle-ci dans la vue (par exemple, form = MyRegistrationModelForm()), puis remplacez toutes vos balises d'entrée dans index.html par {{form}}. Cela produira un formulaire pré-formaté, qui peut ne pas être exactement ce que vous voulez, mais vous pouvez ensuite voir la source et voir ce que les champs de formulaire doivent être nommés et ensuite vous pouvez personnaliser à partir de là.

Une autre chose. Vous ne savez pas si vous l'êtes, mais vous devriez utiliser django-registration pour cela. Plutôt que de créer votre propre classe d'utilisateurs, utilisez la classe User intégrée dans django.contrib.auth.models, puis utilisez django-registration pour les champs personnalisés dont vous avez besoin. Vous serez en mesure de brancher plus facilement d'autres modules si vous utilisez la classe User définie. En ce qui concerne la base de données, en supposant que vous ayez mis les bonnes informations de connexion MySQL dans settings.py, exécuter 'python manage.py syncdb' à la racine de votre projet devrait créer toutes les tables nécessaires. Assurez-vous de le relancer lorsque vous ajoutez de nouveaux modèles.

Questions connexes