изменение UPLOAD_DIR для django-ajax-uploader

Новичок здесь, сэр. Мне удалось установить django-ajax-upload в мой учебный проект django. И используя его начальный вид, URL-адрес и шаблон, чтобы увидеть, как это работает. Я успешно загрузил файл в его каталог по умолчанию «загрузить».

Теперь я пытаюсь изменить UPLOAD_DIR, используемый django-ajax-upload' во что-то вроде папки «одобрение».

О django-ajax-upload: UPLOAD_DIR находится в local.py в классе LocalUploadBackend.

/ajaxuploader/бэкенды/local.py

class LocalUploadBackend(AbstractUploadBackend):
    UPLOAD_DIR = "uploads"

    def setup(self, filename, *args, **kwargs):
        self._path = os.path.join(
            settings.MEDIA_ROOT, self.UPLOAD_DIR, filename)
        try:
            os.makedirs(os.path.realpath(os.path.dirname(self._path)))
        except:
            pass
        self._dest = BufferedWriter(FileIO(self._path, "w"))

Действие ajax вызывает import_uploader = AjaxFileUploader() для загрузки файла. Где AjaxFileUploader имеет этот __init__

class AjaxFileUploader(object):
    def __init__(self, backend=None, **kwargs):
        if backend is None:
            backend = LocalUploadBackend
        self.get_backend = lambda: backend(**kwargs)

Я не уверен, что это правильный способ изменить UPLOAD_DIR через подкласс. Вот мой код.

from ajaxuploader.views import AjaxFileUploader
from ajaxuploader.backends.local import LocalUploadBackend

class myajaxfileuploader(AjaxFileUploader):
    def __init__(self, backend=None, **kwargs):
        local = LocalUploadBackend.UPLOAD_DIR
        local = "endorsement"
        super(myajaxfileuploader,self).__init__(backend=local, **kwargs)

Я вижу кнопку загрузки файла, но выдает, что загрузка не удалась. Каков правильный способ сделать это?


person Charlesliam    schedule 23.06.2013    source источник


Ответы (1)


*это проблема из-за того, что вы не прочитали раздел проблем django-ajax-upload на github, решение всегда было там

Я меняю свой первоначальный import_uploader = AjaxFileUploader() на import_uploader = AjaxFileUploader(UPLOAD_DIR='endorsement')

django-ajax-upload поддерживает эти аргументы для изменения upload_dir ..grr ...

person Charlesliam    schedule 23.06.2013