Puedo subir la foto de perfil pero no puedo editarla
Tengo el formulario que se completa con la opción de exploración de imágenes, pero cuando hago clic en Guardar, en realidad no se actualiza en la plantilla. pero está funcionando bien en admin
vistas.py
def create_form(request): form = AlbumForm(request.POST or None, request.FILES or None) if form.is_valid(): album = form.save(commit=False) album.user = request.user album.image= request.FILES['image'] album.save() return render(request, 'about.html', {'album': album}) context = { "form": form, } return render(request, 'create_form.html', context) def profile_edit(request): if request.method == 'POST': form = AlbumForm(request.POST, instance=request.user.album) if form.is_valid(): album = form.save(commit=False) album.user = request.user form.save() return redirect(reverse('about')) else: form = AlbumForm(instance=request.user.album) args = {'form': form} return render(request, 'profile_edit.html', args)modelos.py
class Album(models.Model): user = models.OneToOneField(User) image = models.FileField()formularios.py
class AlbumForm(forms.ModelForm): class Meta: model = Album fields = ['image']perfil_editar.html
{% extends 'base.html' %} {% block content %} <form action="{% url 'profile_edit' %}" method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit" class="save btn btn-default">save</button> </form> <div> <img src="{{ user.album.image.url }}" class="img-responsive"> </div> {% endblock %}Prueba esto
AlbumForm(request.POST, request.FILES, instance=request.user.album)Debe agregar request.FILES a su AlbumForm en la vista de edición de perfil.
Si carga un archivo, debe usar la request.Files . Lea los archivos para obtener más información en este enlace
https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/#basic-file-uploads