Vous n'êtes pas identifié(e).
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
Bonjour,
Je ne comprends pas la question.
Hors ligne
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
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
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