我遇到的一個看似基本的問題是將一個簡單的靜態文件列表(例如我的服務器上的單個存儲庫目錄的內容)作爲鏈接列表呈現。這是否安全是另一個問題,但假設我想這樣做...... 這就是我的工作目錄的樣子。我想列出模板中分析文件夾的所有文件,作爲鏈接。Django。列出來自靜態文件夾的文件
我試圖訪問靜態文件view.py以下一些tutorial和有它這樣的:
view.py
from os import listdir
from os.path import isfile, join
from django.contrib.staticfiles.templatetags.staticfiles import static
def AnalyticsView(request):
mypath = static('/analytics')
allfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
return render_to_response('Rachel/analytics.html', allfiles)
而且我的模板:
<p>ALL FILES:</p>
{% for file in allfiles %}
{{ file }}
<br>
{% endfor %}
而我的settings.py
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
,我得到的錯誤:
FileNotFoundError at /analytics/
[WinError 3] The system cannot find the path specified: '/analytics'
錯誤traceback 任何幫助將是非常讚賞
我想你看錯了教程。 '''static'''會爲靜態資源生成一個url,而不是文件路徑。所以你應該遍歷你的文件系統併爲每個文件調用static來生成鏈接,你應該把它放到網頁 –