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