【发布时间】:2016-11-25 15:15:40
【问题描述】:
我是 Django 新手,很长一段时间没有使用 Python。我试图让 Django 从目录中提取文件,创建一个列表项,然后创建一个指向该文件位置的超链接。到目前为止,这就是我在视图中定义它的方式:
def docs(request):
root="/Users/user"
workingDir="files"
Path=os.path.join(root, workingDir)
os.chdir(Path)
files=os.listdir(".")
dirListUrls=[]
for file in files:
dirListUrls.append(os.path.join(root, workingDir, file)
directoryList={'dirList': {'files': files, 'dirListUrls': dirListUrls}
return render(request, 'mySite/documents', directoryList)
在我的模板中如下:
{% for item in dirList.files}
<li><a href="#">{{ item }}</a></li>
{% endfor %}
我想创建一个可以通过以下方式访问的字典:
{% for item in dirList %}
<li><a href="{{ dirList.url }}">{{ dirList.file }}</a></li>
{% endfor %}
提前致谢。
【问题讨论】:
-
对我来说,听起来您正在尝试提供静态文件或媒体文件。查看文档如何执行这些操作:docs.djangoproject.com/en/1.9/howto/static-filesdocs.djangoproject.com/en/1.9/topics/files
标签: django python-3.x django-templates django-views