Форум сайта python.su
На клиентской стороне использую вот этот метод: http://habrahabr.ru/post/109079/
А какой вьюхой обрабатывать ajax запрос?
Вот это:
def loadfile(request):
return HttpResponse(request.raw_post_data)
Офлайн
Как насчет скопировать название темы, нажать F6, нажать Ctrl+V, нажать пробел, ввести ‘django’, нажать <Enter> и прочитать первые несколько ссылок?
Офлайн
Это сделал первым делом. Пока не особо вышло разобраться.
Офлайн
Офлайн
Ковырял тут. Дело в том, что выдает 500 ошибку. Делал просто во вьюхе один pass и нефига. Ругается на Invalid boundary in multipart: None.
Если расковырять локальные переменные, то говорит, что request.POST could not parse…Походу со стороны клиента идет какая-то лажа.
Отредактировано barabansheg (Июнь 21, 2012 00:18:55)
Офлайн
Примерно так
class CabinetAddScan(JsonFormResponseMixIn, BaseUpdateView): model = Document form_class = ScanForm class JsonFormResponseMixIn(object): @to_json def form_valid(self, form): self.object = form.save() return dict( success = True, object = self.object.__json__(), ) @to_json def form_invalid(self, form): return dict( success = False, errors = [ (field.label, u", ".join(field.errors)) for field in form if field.errors], ) def to_json(func): def wrapper(self, *argv, **kw): data = json.dumps(func(self, *argv, **kw)) return HttpResponse(data, mimetype="application/json") return wrapper
Отредактировано zheromo (Июнь 26, 2012 05:48:37)
Офлайн
А как этим пользоваться? =) Точней не…Где почитать что б понять как этим пользоваться?)
З.Ы. Лажа на самом деле шла от клиента. Переделал запрос. Все ок. Но теперь не могу получить данные
на стороне сервера. Обращаюсь к полю через request.FILES, пишет следующее:
Key \'mypic\' not found in <MultiValueDict: {u"\'mypic\'": [<TemporaryUploadedFile: \'test.jpg\' (application/octet-stream)>]}>'
Отредактировано barabansheg (Июнь 26, 2012 11:43:42)
Офлайн
barabanshegКурить Class Based Views
А как этим пользоваться?
Офлайн
Файлы загружает. Клиентская сторона тоже как надо работает…НО! При обращении к файлу напрямую(лежит в /media/files/) выдает 404. Если туда загружать файлы через форму - все ок. Может я не верно что-то сохраняю?
Вот код:
upload = request.FILES['test'] fd = open('%s/%s' % (settings.MEDIA_ROOT,upload.name), 'wb') fd.write(upload.read()) fd.close()
Отредактировано barabansheg (Июнь 30, 2012 23:40:54)
Офлайн