Новичок здесь, сэр. Мне удалось установить 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)
Я вижу кнопку загрузки файла, но выдает, что загрузка не удалась. Каков правильный способ сделать это?