Форум сайта python.su
Допиливаю сайт на 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))
Отредактировано A.Pervushow (Окт. 30, 2012 10:56:33)
Офлайн
После загрузки страницы с результатом аплоада в javascript делаете
window.location = 'http://site.com/admin/photo/3/#tab2';
Отредактировано Lexander (Окт. 30, 2012 12:01:11)
Офлайн
Извините, я наверное неверно сформулировал.
Загрузка фотки происходит, а загрузка страницы с аплоадом- нет.
Т.е. HttpResponse или render_to_response не работает.
Нужно жать обновление страницы в браузере.
Вот здесь- http://python.su/forum/topic/15021/?page=1#post-90065
Похожая тема, но рецепт, который там написан мне не помог.
Отредактировано A.Pervushow (Окт. 30, 2012 12:23:22)
Офлайн