Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 30, 2012 10:52:52

A.Pervushow
Зарегистрирован: 2012-10-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

django:Редирект после загрузки фото

Допиливаю сайт на django.
В админке есть интерфейс загрузки фото.
Выглядит так:

  
<form class="form-horizontal" action="POST" id='addPhoto' enctype="multipart/form-data">
                                    {% csrf_token %}
                                    <input value="{{ value.id }}" name="object_id" id="object_id" type="hidden"/>
                                    <div class="control-group">
                                        <label class="control-label" for="fileInput">Фото</label>
                                        <div class="controls">
                                            <input id="fileInput" class="input-file" type="file" name="photo"/>
                                        </div>
                                    </div>
                                    <button type="button" id='save_brend' class="btn btn-primary" onclick="form_send('#addPhoto','http://127.0.0.1:8000/admin/save_photo/','#result','#save_group')">Add photos</button>
                                </form> 

def save_photo(request):
    mimetype = 'application/javascript'
    if request.is_ajax():
        if not request.FILES:
            response = {
                'messages': [u'Photos not selected'],
                'status': False
            }
            return HttpResponse(json.dumps('error'),mimetype)
        else:
            photos = request.FILES.getlist('photo')
            for file in photos:
                temp_form = PhotoForm(request.POST, {'photo': file})
                if not temp_form.is_valid():
                    return ajax_response(errors=temp_form.errors, status=False)
            for file in photos:
                temp_form = PhotoForm(request.POST, {'photo': file})
                temp_form.saves()
        return HttpResponse(json.dumps('reload'),mimetype)
def add_photo(request,offset):
    pizza = Value.objects.get(id=offset)
    photo = Value.objects.filter(object_id=offset)
    return render_to_response('admin/add_photo.html',{'Value':value,'Photos':photo},context_instance=RequestContext(request))

Проблема в том, что после загрузки фото нужен редирект на страницу со всеми фотками.
Адрес страницы для редиректа admin/photo/3/#tab2 (например)

Я так понял, что проблема в PhotoForm, который выполняет POST запрос на загрузку фото.

Предложения глобально сменить архитектуру решения принимаются.

Заранее спасибо.

Отредактировано A.Pervushow (Окт. 30, 2012 10:56:33)

Офлайн

#2 Окт. 30, 2012 12:00:43

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

django:Редирект после загрузки фото

После загрузки страницы с результатом аплоада в javascript делаете
window.location = 'http://site.com/admin/photo/3/#tab2';



Отредактировано Lexander (Окт. 30, 2012 12:01:11)

Офлайн

#3 Окт. 30, 2012 12:22:30

A.Pervushow
Зарегистрирован: 2012-10-30
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

django:Редирект после загрузки фото

Извините, я наверное неверно сформулировал.

Загрузка фотки происходит, а загрузка страницы с аплоадом- нет.
Т.е. HttpResponse или render_to_response не работает.
Нужно жать обновление страницы в браузере.

Вот здесь- http://python.su/forum/topic/15021/?page=1#post-90065
Похожая тема, но рецепт, который там написан мне не помог.

Отредактировано A.Pervushow (Окт. 30, 2012 12:23:22)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version