如何使用pythons os-django-python获取文件相对路径

如何使用pythons os-django-python获取文件相对路径,python,django,Python,Django,我正在获取目录dir下的所有文件名: files = os.listdir(dir) 将文件名呈现到模板后,我将在模板中显示它们,如下所示: {% for each in files %} <li> <a href="{{each}}" target="_blank">{{each}}</a> <li> {% endfor %} {%用于文件%中的每个文件] {%endfor%} 我想,如果我点击文件名,该文件应在新窗口中打开。但是这

我正在获取目录
dir
下的所有文件名:

files = os.listdir(dir)
将文件名呈现到模板后,我将在模板中显示它们,如下所示:

{% for each in files %}
<li>
  <a href="{{each}}" target="_blank">{{each}}</a>
<li>
{% endfor %}
{%用于文件%中的每个文件]
  • {%endfor%}

  • 我想,如果我点击文件名,该文件应在新窗口中打开。但是这里的问题是
    files=os.listdir(dir)
    只返回文件名,而不返回其相对路径。我如何获得路径呢

    添加一个“/”命令浏览器从站点的根目录开始。此外,在新窗口中打开链接应为HTML:

    <a href="/{{each}}" target="_blank">{{each}}</a>
    

    谢谢,但是{{each}}是文件名,我需要获取这些文件的路径,知道吗?@doniyor我在responseThanks中添加了这个,但是这给出了绝对路径,绝对路径在chrome中给出了一些错误等等。。。如何获取相对路径以便打开它?@doniyor relative to start_dir应该是os.path.relpath(os.path.join(dir,f),start=start_dir)谢谢!非常好的帮助:)你能在另一个变量中发送模板的路径吗<你在找os.getcwd()?@jcfollower,如何获取路径是我现在的问题。我可以用
    C://…
    获得绝对路径,但我需要相对路径。如果你有绝对路径,你就不能用它的最后一部分作为相对路径吗?@jcfollower,绝对!:D完全正确。
    files = [os.path.join(dir, f) for f in files]