J'ai un formulaire de confidentialité, dans lequel je sélectionne quelle application doit être cachée quand on accède au profil d'un utilisateur. Le formulaire contient plusieurs cases à cocher, et l'utilisateur vérifie ce qu'il veut cacher. Ce que je veux, c'est que lorsqu'un utilisateur accède à ce formulaire, le formulaire soit une instance du formulaire de confidentialité déjà enregistré, s'il en existe un. Je veux dire, si j'ai déjà coché masquer l'application 1, lorsque j'accède de nouveau au formulaire, la case à cocher correspondante doit être cochée.Formulaire de pré-remplissage Django avec les champs de la base de données
mon code:
def save_privacy(request):
if request.method == 'POST':
try:
u = Privacy.objects.get(user_privacy = request.user)
form = PrivacyForm(request.POST, instance=u)
except ObjectDoesNotExist:
form = PrivacyForm(request.POST, request.FILES)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.user_privacy = request.user
new_obj.save()
return HttpResponseRedirect('/accounts/private_profile/')
else:
form = PrivacyForm()
return render_to_response('privacy/set_privacy.html', {
'form': form,
},
context_instance=RequestContext(request))
et ma forme:
class PrivacyForm(ModelForm):
class Meta:
model = Privacy
fields = ['restrict_cv','restrict_blog','friends_of_friends','restrict_followers','restrict_following']
oui, vous avez raison! travaille maintenant! THX! – dana