Django-fr

Forum

#1 29-01-2017 17:49:28

cobra85
Membre
Inscription : 11-05-2015
Messages : 58

Modifier formulaire et crer un fichier

Bonjour,

J'ai une vue pour créer un formulaire et je peux en plus créer un fichier texte automatiquement. Cependant, j'ai aussi une vue pour modifier les valeurs de ce formulaire et je souhaite pouvoir recréer un fichier à partir des nouvelles valeurs.

Voici le code pour modifier les valeurs du formulaire:

def modifFormulaire(request,id):

    if request.POST:
        book = Formulaire.objects.get(id=id)
        form = FormulaireForm(request.POST,instance = book)
        if form.is_valid():
            form.save()
            return redirect('/offre/')
    else:
        book = Formulaire.objects.get(id = id)
        form = FormulaireForm(instance = book)
        return render_to_response('blabla/modif_offre.html',{ 'form':form }, context_instance=RequestContext(request))

Comment faire ?

Merci

Hors ligne

#2 30-01-2017 22:02:11

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Modifier formulaire et crer un fichier

Bonjour,

Je ne comprends pas la question.

Hors ligne

#3 31-01-2017 11:54:02

cobra85
Membre
Inscription : 11-05-2015
Messages : 58

Re : Modifier formulaire et crer un fichier

Bonjour,

J'ai le formulaire suivant qui me permet de créer un fichier texte à partir des champs du formulaire (je précise que ce code est utilisé en interne d'où la récupération du mot de passe)

def formulaire_mail(request):
    if request.method == 'POST':

        mail2_form = Mail2Form(request.POST, request.FILES)

        if mail2_form.is_valid():
            id = mail_form.cleaned_data['id']
            utilisateur = mail2_form.cleaned_data['utilisateur']
            ad_mail = mail2_form.cleaned_data['ad_mail']
            password = mail2_form.cleaned_data['password']
            date_creation = mail2_form.cleaned_data['date_creation']
            fournisseur = mail2_form.cleaned_data['fournisseur']

            mail2_form.save()

            nom_du_fichier = 'param_' + str(id) + '.txt'

            nom_du_chemin = chemin_mail + str(id)

            if not os.path.exists(nom_du_chemin):
                os.mkdir(os.path.join(nom_du_chemin))

            chemin = nom_du_chemin +'/' + nom_du_fichier

            fichier_cnf = open(chemin,"a")
            print "fichier_cnf"
            print fichier_cnf

            fichier_cnf.write(u'{nl}***************- Compte mail - {utilisateur} -**********************\
                            {nl}utilisateur = {utilisateur}\
                            {nl}Adresse mail = {ad_mail}\
                            {nl}Mot de passe = {password}\
                            {nl}Date de creation = {date_creation}\
                         {nl}*************************************'.format(
                utilisateur=utilisateur,
                ad_mail=ad_mail,
                password=password,
                date_creation=date_creation,
                nl='\n')
            )

            fichier_cnf.close()
##################################################

            return HttpResponseRedirect('liste')
    else:
        mail2_form = Mail2Form()

    return render(request, 'formulaire_mail.html', {'mail2_form': mail2_form})

Et voici le code pour le formulaire de modification, le problème est que je voudrais effacer ou remplacer la fichier texte précédement créé avec lmes nouvelles valeurs:

def modif_mail(request, id):
    if request.POST:
       book = Mail.objects.get(id=id)
       form2 = Mail2Form(request.POST, request.FILES, instance = book)

       if form2.is_valid():
          form2.save()

          return redirect('liste')

    else:
       book = Mail.objects.get(id = id)
       form2 = Mail2Form(instance = book)

       return render_to_response('modif_mail.html',{ 'form2':form2,}, context_instance=RequestContext(request))

J'espère avoir été plus précis dans ma demande.

Merci

Hors ligne

#4 01-02-2017 10:47:43

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Modifier formulaire et crer un fichier

Je ne vois pas la difficulté. Il me semble qu'il suffit de supprimer le fichier et reprendre le code de la création

Hors ligne

#5 03-02-2017 19:34:11

cobra85
Membre
Inscription : 11-05-2015
Messages : 58

Re : Modifier formulaire et crer un fichier

Bonjour,

En effet, en reprenant la partie du code propre aux entrées du formulaire et à l'édition du fichier cela fonctionne.

Par contre il ne modifie pas directement dans la table, il créé une nouvelle entrée ...

Je continue de chercher

Merci

Hors ligne

Pied de page des forums