【问题标题】:django create links from directory contentsdjango 从目录内容创建链接
【发布时间】: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 %}

提前致谢。

【问题讨论】:

标签: django python-3.x django-templates django-views


【解决方案1】:

您可以使用zip

def docs(request):
    ...
    context = {'dirList': zip(files, dirListUrls)}
    return render(request, 'mySite/documents', context)

{% for item in dirList}
    <li><a href="#{{ item.1 }}">{{ item.0 }}</a></li>
{% endfor %}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
相关资源
最近更新 更多