/ / djangoはディレクトリの内容からリンクを作成します-django、python-3.x、django-templates、django-views

djangoはディレクトリの内容からリンクを作成します-django、python-3.x、django-templates、django-views

私は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 %}

前もって感謝します。

回答:

回答№1は0

あなたは使うことができます 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 %}