2017-06-09 34 views
0

我在Django有一個應用程序,用戶上傳一些文件(xlsx),信息被解壓縮並且文件存儲在/ media中。 我想要一個頁面/視圖,用戶應該能夠按文件夾結構或按字母順序瀏覽文件,並且他們應該能夠從服務器下載它們。如何在django中製作自定義文件列表?

我現在有,因爲它會是基本的: 這是html的

{% block Content%} 
{% if documents %} 
    <ul id="files_ul"> 
     {% for document in documents %} 
     <li> 
      <a href="{{ document.docfile.url }}">{{ document.docfile.name }}</a> 
     </li> 
     {% endfor %} 
    </ul> 
{% else %} 
    <p> No documents. </p> 
{% endif %} 
{% endblock %} 

我有一個型號命名文件,我已經添加了這個:

+ static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) 

到URL .py我知道它不安全。

我不需要像Filer這樣的東西,因爲我已經有了,但我還沒有弄清楚如何配置。

我只知道python,並沒有廣泛的,我是新的Django所以任何幫助將非常感激。

這將是很大的幫助,如果你能告訴我至少如何改變這種觀點,現在出現在文件的名稱,

document.docfile.name 

結果在文件夾1 /資料夾/文件名,我想只有文件名出現。

型號

class Document(models.Model): 

    def filename(self): 
     return os.path.basename(self.file.name) 

    upload_user=models.ForeignKey(User, related_name='documents') 
    upload_time=models.DateTimeField(auto_now_add=True) 
    docfile=models.FileField(upload_to='documents/%Y/%m') 
+2

是什麼,你現在這些面臨的問題html – Exprator

+0

@Exprator我不知道如何改變文件名的名稱,我編輯了這個問題。 – Mike

+0

此外,我想通過文件夾結構內的文件夾文件分組文件,我不知道如何抓住這個問題。 – Mike

回答

0
在模型中

您在其中定義的FileField把這個功能

def filename(self): 
     return os.path.basename(self.docfile.name) 

,並在模板

<a href="{{ document.docfile.url }}">{{ document.filename }}</a> 
+0

現在什麼都不顯示。 – Mike

+0

你可以發佈你的模型? @Mike – Exprator

+0

仍然是相同的結果 – Mike

相關問題