9
votes

Django - Formulaire Django-Taggit

Je voudrais utiliser django-taggit ( Cliquez ici ). La documentation ( Cliquez ici ) parle de Utilisation de Modelform pour générer le formulaire, mais j'ai déjà mon formulaire que je voudrais utiliser.

Disons si j'ai quelque chose comme ça:

formulaires.py xxx

Comment enregistrer les balises provenant des balises ? Qu'est-ce qui se passe dans mon vues.py ? Un vrai exemple serait vraiment apprécié.


0 commentaires

3 Réponses :


13
votes

Je ne suis pas trop familier avec l'application Django Taggit, mais on dirait que si vous souhaitez utiliser le même champ et la même configuration de widget, l'application utilise, vous pouvez les importer à partir du taggit.Forms ( https://github.com/alex/django-taggit/blob/master/taggit/forms.py CODE> ):

Vos modèles.Parpy:

if form.is_valid():
    name = form.cleaned_data['name']
    m_tags = form.cleaned_data['m_tags']
    object = Food(name=name)
    object.save()
    for m_tag in m_tags:
        object.tags.add(m_tag)
    return HttpResponseRedirect('/thanks/')


1 commentaires

Ceci bien sûr ne supprime pas les étiquettes, si vous les avez marquées pour la suppression.



7
votes

Je ne peux pas commenter sur la réponse usée / "Vert cochée". Mais je changerais le bloc xxx

à xxx


0 commentaires

3
votes

Voir les instructions ici: https://github.com/ alex / django-taggit / blob / maître / docs / formulaires.txt

Si, lors de la sauvegarde d'un formulaire, vous utilisez l'option COMMIT = FALLE . Vous devez appeler save_m2m () sur le formulaire après avoir enregistré l'objet, comme vous le feriez pour un Formulaire avec plusieurs champs à de nombreux champs :: xxx


0 commentaires