2013-06-23 34 views
0

新手在這裏先生。我設法將django-ajax-upload安裝到我的django學習項目中。並使用它的初始視圖,網址和模板來查看它的工作原理。我成功上傳了一個文件到它的默認目錄'upload'。更改UPLOAD_DIR for django-ajax-uploader

現在,我試圖將django-ajax-upload'所使用的UPLOAD_DIR更改爲'認可'文件夾。

關於django-ajax-upload: UPLOAD_DIR位於LocalUploadBackend類下的local.py中。

/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")) 

阿賈克斯行動調用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) 

我可以看到文件上傳文件按鈕,但給我一個上傳失敗。 這樣做的正確方法是什麼?

回答

0

* 這不讀的Django的AJAX上傳GitHub的問題部分的問題,解決辦法在那裏一直

我改變我的初步import_uploader = AjaxFileUploader()import_uploader = AjaxFileUploader(UPLOAD_DIR='endorsement')

Django的AJAX上傳支持這個參數來改變upload_dir ..grr ...