Изменение UPLOAD_DIR для django-ajax-uploader
Новичок здесь, сэр. Мне удается установить django-ajax-upload в мой учебный проект django. И используя его начальный вид, URL и шаблон, чтобы увидеть, как он работает. Я успешно загрузил файл в каталог по умолчанию "upload".
Теперь я пытаюсь изменить UPLOAD_DIR, используемый django-ajax-upload', на что-то вроде папки "одобрения".
О django-ajax-upload: UPLOAD_DIR находится в local.py в классе LocalUploadBackend.
/ajaxuploader/backends/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)
Я вижу кнопку загрузки файла, но выдает ошибку при загрузке. Как правильно это сделать?
1 ответ
*это проблема, связанная с тем, что вы не читали раздел о проблемах с django-ajax-upload github, решение было всегда
Я меняю свой начальный import_uploader = AjaxFileUploader()
в import_uploader = AjaxFileUploader(UPLOAD_DIR='endorsement')
django-ajax-upload поддерживает эти аргументы для изменения upload_dir..grr...