J'essaie de modifier un objet existant via un formulaire. Tout fonctionne correctement, sauf que ImageField n'est pas rempli avec la valeur actuelle.Lors de la modification d'un objet dans django, le champ ImageField n'est pas rempli
Voici le modèle:
class Post(models.Model):
author = models.ForeignKey(User, editable=False)
slug = models.SlugField(max_length = 110, editable=False)
title = models.CharField(verbose_name='Blog Title', max_length=40, blank=False)
body = models.TextField(verbose_name='Body')
thumbnail = models.ImageField(upload_to = 'posts/%Y/%m')
Voici la vue
@login_required
def edit_profile(request, form_class=UserProfileForm, success_url=None, template_name='profiles/edit_profile.html', extra_context=None):
try:
profile_obj = request.user.get_profile()
except ObjectDoesNotExist:
return HttpResponseRedirect(reverse('profiles_create_profile'))
if success_url is None:
success_url = reverse('profiles_profile_detail',
kwargs={ 'username': request.user.username })
if form_class is None:
form_class = utils.get_profile_form()
if request.method == 'POST':
form = form_class(data=request.POST, files=request.FILES, instance=profile_obj)
if form.is_valid():
form.save()
return HttpResponseRedirect(success_url)
else:
form = form_class(instance=profile_obj)
if extra_context is None:
extra_context = {}
context = RequestContext(request)
for key, value in extra_context.items():
context[key] = callable(value) and value() or value
return render_to_response(template_name,
{ 'form': form,
'profile': profile_obj, },
context_instance=context)
Et voici un spectacle d'écran du formulaire d'édition. http://yfrog.com/jnscreenshot20100110at102jp
Cet objet avait une miniature ci-joint, mais quand je suis allé à modifier, rien montré dans le champ Miniature
Une capture d'écran n'a pas de code. pourquoi ne pas poster le fichier html rendu? nous pouvons seulement faire ce que les sheats ont fait et supposons que vous utilisez 'form.as_p'. –