我试图通过标题形式模型的导航下拉模板,但它是在主html页面工作,但没有显示其他人

2024-05-23 15:26:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个导航下拉列表,与模型标题,但它是显示在主html页下拉列表,但它不显示其他网页,我也试图使一个单头html模板,它也不显示标题,所以我怎么能把对象传递到多个模板

我的模板下拉列表

<li class="menu-has-children"><a href="#services">All Services</a>
  <ul style="display: inline;">
    {% for detailinfo in detail.all %}
      <li><a href="{% url 'details' services.slug %}">{{ detailinfo.title }}</a></li>
    {% endfor %}
  </ul>
</li>

我的观点:

def details(request, services_slug):
    q = services.objects.filter(slug=services_slug)
    if q.exists():
        q=q.first()
    else:
        return HttpResponse("<h1> page not found </h1>")

    detail = {'detail': q}

    return render(request, 'detail.html', detail,)

我想在详细页中添加这些对象

def homepage(request):

aboutinfo = aboutpage.objects
servicesinfo = services.objects
programinfo = prgm.objects

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

Tags: 对象模板标题列表returnobjectsrequesthtml
1条回答
网友
1楼 · 发布于 2024-05-23 15:26:24

你不能。 如果要为其他页面显示detail,则页面视图必须具有detail。 我的方法是收集我在任何地方使用的变量,并将它们与所有视图相结合。 例如:

# general.py
payload = {'detail': x_variable, 'loremipsum': 2}

这是我的通用负载,我在项目的每个视图中导入这个负载。 然后在所有的观点中

# your view for example
def details(request, services_slug):

.........

detail = {'detail': q}

detail.update(my_imported_payload)

return render(request, 'detail.html', detail,)

相关问题 更多 >