gpt4 book ai didi

python - Django基础模板 View 方法

转载 作者:行者123 更新时间:2023-12-01 04:45:43 25 4
gpt4 key购买 nike

我正在尝试使用 Django 编写我的网站。我完成了页面和博客方面。现在我创建一个base.html,它有一个菜单。页面标题将出现在菜单上。

  <ul class="nav navbar-nav">
{% for page in pages %}
<li>
<a href="{% url 'page' page.slug %}">{{ page.title }}</a>
</li>
{% endfor %}
</ul>

但是问题是,如果我需要基本模板上的页面,我应该在哪里调用页面?在所有 View 方法中,哪些方法使用基础方法或通用方法?

我的 View .py:

from django.shortcuts import render
from django.shortcuts import get_object_or_404
from django.http import HttpResponse
from pages.models import Page
# Create your views here.


def mainpage(request):
try:
currentPage = Page.objects.get(title = "About Me")
return render(request, 'index.html', {'mainPage' : currentPage})
except Page.DoesNotExist:
return HttpResponse('main page')

def page(request, slug):
currentPage = get_object_or_404(Page, slug = slug)
return render(request, 'page.html', {'currentPage' : currentPage})
#return HttpResponse('asdsad')

最佳答案

最简单的解决方案是使用 template context processor :

myapp/context_processors.py:

from myapp.models import Page

def pages(request):
return {'pages': Page.objects.all()}

然后将此处理器添加到 TEMPLATE_CONTEXT_PROCESSORS设置:

TEMPLATE_CONTEXT_PROCESSORS = (
...
'myapp.context_processors.pages',
)

关于python - Django基础模板 View 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com