J'ai ces 2 modèles:Django - Ajax Formulaire type caché
class Exercise(models.Model):
text = models.TextField()
class Score(models.Model):
user = models.ForeignKey(User)
exercise = models.ForeignKey(Exercise)
score = models.IntegerField()
class Meta:
unique_together = (('user', 'exercise',),)
Un modèle affiche un exercice qu'un utilisateur peut compléter. Le utilisateur obtient un score à la fin.
Je voudrais envoyer le score à la base de données avec ajax.
J'ai préparé en vue d'obtenir les scores
def scoresexo(request):
if request.method == 'POST':
ret = {'type': 'info'}
score, created = Score.objects.get_or_create(
user = request.user
, exercise_id = request.POST['exo']
)
score.score = request.POST['score']
try:
score.save()
except:
ret['type'] = 'error'
ret['msg'] = 'error saving'
return HttpResponse(json.dumps(ret), mimetype='application/json')
Dois-je utiliser un ModelForm caché ou un formulaire manuel/View?
Et à quoi ressemblerait-il?
C'est ce que je commençais à faire mais je ne suis pas sûr de la réutilisabilité et de la maintenabilité de cette technique. Est-ce une bonne pratique? –
Et quelle est l'alternative? Vous n'avez définitivement pas besoin de formulaire ici (champs de rendu, erreurs, help_text, pas besoin ici). Donc, vous avez juste besoin d'envoyer des données à voir. Je recommande juste d'utiliser quelque chose pour ajax, mon choix est [dajax] (http://www.dajaxproject.com/). – DrTyrsa