2016-08-12 18 views
1

Hy! Я создал новый проект Django для загрузки фотографии с помощью FormView. Фотография обрабатывается и предоставляется ссылка для загрузки. Проблема заключается в ответе: я хочу, чтобы страница html оставалась прежней, нужно добавить только ссылку для загрузки.Django FormView Response

class ColorImageView(FormView): 
    template_name = 'images.html' 
    form_class = ColorImageForm 

    def form_valid(self, form): 
    download_link = .... 
    return HttpResponse(...?...) 

Screenshot

ответ

1

Просто редактировать images.html с чем-то вроде:

{% if download_link %} 
    <a href="{{ download_link }}">Download</a> 
{% endif %} 

И передать URL в представлении:

def form_valid(self): 
    download_link = '' 
    return self.render_to_response(self.get_context_data(download_link=download_link)) 
+0

Спасибо, отлично работает! 100% – angulardjango

+0

Каков самый простой способ показать индикатор выполнения во время обработки? – angulardjango

+0

Альтернативным решением было бы использовать AJAX для отправки формы и отображения ответа (ссылки загрузки) на успех. Проверьте эту ссылку http://www.laurentluce.com/posts/upload-to-django-with-progress-bar-using-ajax-and-jquery/ –