Как я могу перенаправить на цикл по нескольким переменным в HTML Django - PullRequest
0 голосов
/ 06 июня 2019

Я хочу перейти на другую страницу, основанную на значении i, я знаю, что синтаксис неверен, но мне нужно несколько советов, чтобы сделать то же самое альтернативным способом я новичок в переполнении стека, пожалуйста, прости, если мой вопрос глупый

{% for document,i in details , flag reversed %}
<tr>
    {% if i %}
        <td><li><a href="{{ document.docfile.url}}">{{ document.docfile}}</a></li> </td>
    {%  else %}
        <td><li><a href="./{{ whole }}/{{ document.docfile}}">{{ document.docfile}}</a></li> </td>
    {% endif %}
    <td>{{ document.DateOfUpload}}</td>
    <td>{{ document.emailid}}</td>
</tr>
{% endfor %}

вот взгляды .py

def getAllFiles(request,project_name,wholepath):
    wholepath=str(wholepath)
    whole=[]
    whole=wholepath.split('/')
    w=len(whole)
    w=w-1
    whole=whole[w]
    wholepath= wholepath.replace('/', '\\')
    wholepath="./media/"+wholepath
    if wholepath:
         getallfiles=Document.objects.filter(parentdirectory=wholepath)
         print(getallfiles)
         flag=[]
         i=0
         for c  in getallfiles:
             i=i+1;
             st=(c.docfile)
             st=str(st)
             print(st,type(st))
             if os.path.isfile(st):
                flag.insert(i,"1")
             else:
                 flag.insert(i,"0")



         return render(request, 'FileView.html', {'details': getallfiles,'whole': whole, 'flag': flag}) 

    else:
        getallfiles=Document.objects.all()
        return render(request, 'AllUploads.html', {'details': getallfiles,'whole':whole}) 

urls.py

  path('projectlist/<slug:project_name>/<path:wholepath>', views.getAllFiles),


если это файл, то URL должен выглядеть примерно так ./media/filelocation или, если это каталог, он должен добавить предыдущий путь

1 Ответ

0 голосов
/ 06 июня 2019

использование zip_longest

Например, у меня есть 3 списка:

from itertools import zip_longest

list1=[1,2,3]
 list2=['a','b','c']
 list2=[5,6,7] 

 list=list(zip_longest(list1,list2,list3))
for x,y,z in list:
 print(x,y,z)

Выход:

1 a 5
2 b 6
3 c 7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...