Django 中的循环不起作用

问题描述 投票:0回答:1

嗨,我是 django 的新手,我在 django 中的 for 循环方面遇到问题,要制作导航栏/菜单,我在 html 中使用 for 循环,如下所示:

<div class="menu">
    <a href="/">
      <div class="menu-link klik">
        <i class="bx bx-home"></i>
        <div class="contentMenu hidden">HOME</div>
      </div>
    </a> for key,value in menu.items %}
    <a href="{% url 'app_'|add:key|add:':'|add:key %}">
      <div class="menu-link klik">
        <i class="{{value}}"></i>
        <div class="contentMenu hidden">{{key|upper}}</div>
      </div>
    </a> endfor %}   </div>

和观点:

from django.shortcuts import render
from .forms import ProjectForm

def index(request):
    projectForm = ProjectForm()
    context = {
        'title': 'Achmad Irfan Afandi',
        'tile': 'Home',
        'subtitle': 'Data Analyst',
        'social_media':
            {'linkedin':'https://www.linkedin.com/in/achmad-irfan-afandi-9661131a6/',
             'github':'https://www.github.com/achmadirfana',
             'facebook':'https://www.facebook.com/achmad.irfan.754',
             'twitter':'https://www.facebook.com/achmad.irfan.754',
             'instagram':'https://www.facebook.com/achmad.irfan.754'},    
        'menu': 
            {'about': 'bi bi-file-earmark-person',
            'education': 'bx bxs-graduation',
            'skill': 'bx bx-wrench',
            'projects': 'bx bx-building',
            'services': 'bx bx-support',
            'contact': 'bx bxs-contact'},
        'projectForm': projectForm
    }

    return render(request, 'index.html', context)
python django for-loop navbar social-auth-app-django
1个回答
0
投票

我确实看到 for 循环中缺少括号和百分比...否则将需要所有 html 文档来继承(扩展)模板。所以首先显示的是定义模板标签,然后每个其他页面都需要继承模板。

<!DOCTYPE html>
    <html lang="en">
  <head>
    {% block title %}
      <title>Local Library</title>
    {% endblock %}
  </head>
  <body>


    {% block sidebar %}
      <!-- insert default options for every page that extends -->
</a> {% for key,value in menu.items %}
    <a href="{% url 'app_'|add:key|add:':'|add:key %}">
  <div class="menu-link klik">
    <i class="{{value}}"></i>
    <div class="contentMenu hidden">{{key|upper}}</div>
  </div>
</a> {% endfor %}   </div>
    {% endblock %}


    {% block content %}
  <!-- default content (on every page extending) -->
    {% endblock %}
   </body>
</html>

然后在其他 html 文档中。

{% extends "above_template.html" %}

{% block content %}
  <h1>...</h1>
  <p>
    ...
  </p>
{% endblock %}

 
© www.soinside.com 2019 - 2024. All rights reserved.