Python 如何访问不同视图函数中的对象

Python 如何访问不同视图函数中的对象,python,django,django-models,django-templates,django-views,Python,Django,Django Models,Django Templates,Django Views,我正在尝试创建一个header.html来为所有页面创建一个header,我想为导航b/w页面创建一个下拉列表,我想从模型中获取标题我这里有两个视图 一个用于主页,另一个用于页眉 主页视图: def homepage(request): aboutinfo = aboutpage.objects.all() servicesinfo = services.objects.all() programinfo = prgm.objects.all() return render(request,

我正在尝试创建一个header.html来为所有页面创建一个header,我想为导航b/w页面创建一个下拉列表,我想从模型中获取标题我这里有两个视图 一个用于主页,另一个用于页眉 主页视图:

def homepage(request):

aboutinfo = aboutpage.objects.all()
servicesinfo = services.objects.all()
programinfo = prgm.objects.all()

return render(request, 'index.html', {'aboutinfo': aboutinfo, 'servicesinfo': servicesinfo, 'programinfo': programinfo})
标题视图

def header(request):

info = services.objects.all()
return render(request, 'header.html', {'info':info})
当我尝试信息时,它不起作用,我尝试了主页上的服务信息,它只起作用索引页`

         <li class="menu-has-children"><a href="#services">All Services</a>
        <ul>
          {% for services in /* what is here */.all %}
          <li><a href="{% url 'details' services.slug %}">{{ services.title }}</a></li>
        {% endfor %}
        </ul>
     </li>
    • {%/*这里是什么*/.all%}
    • {%endfor%}

  • 还是试着用括号吧

    info = services.objects.all() 
    
    试试这个:

    views.py

    header.html

      {%用于服务中的服务%}
    • {%endfor%}

    {%forservicesinfo.all%}是的,我试过了,但只在索引页中工作,不在标题页中。如果你想在标题页中添加servicesinfo=services.objects.all(),还有上下文,因为你正在将对象返回到header.html中,请尝试访问它。
    def header(request):
        services = services.objects.all()
        return render(request, 'header.html', {'services':services})
    
    <ul>
        {% for service in services %}
        <li>
            <a href="{% url 'details' service.slug %}">{{ service.title }}</a>
        </li>
        {% endfor %}
    </ul>