Django 如何在主页上正确呈现多个应用程序
因此,我目前正在学习使用Django,我想知道如何正确地分割部分功能,同时仍将其显示在主页上 例如,我希望在主索引页上显示标题+导航、日历和最近的博客文章。Django 如何在主页上正确呈现多个应用程序,django,templates,web,view,render,Django,Templates,Web,View,Render,因此,我目前正在学习使用Django,我想知道如何正确地分割部分功能,同时仍将其显示在主页上 例如,我希望在主索引页上显示标题+导航、日历和最近的博客文章。 例如,在查看文章页面上,我有标题+导航、日历和一篇带有评论部分的文章 现在阅读教程,如果我理解正确,我会将标题应用程序、日历应用程序和博客应用程序本身的功能拆分,同时将其与核心应用程序粘在一起 但我不明白的是如何在主应用程序中呈现应用程序/其他视图。我发现的所有方法都只指定模板本身,或者看起来非常粗糙,因此显然这似乎不是常见的方法。因此这里
例如,在查看文章页面上,我有标题+导航、日历和一篇带有评论部分的文章 现在阅读教程,如果我理解正确,我会将标题应用程序、日历应用程序和博客应用程序本身的功能拆分,同时将其与核心应用程序粘在一起
但我不明白的是如何在主应用程序中呈现应用程序/其他视图。我发现的所有方法都只指定模板本身,或者看起来非常粗糙,因此显然这似乎不是常见的方法。因此这里有多个视图: 1.要显示的视图 2.呈现页面的视图,显示所有视图(我们称之为“主视图”) 第一步是将所有其他视图/模型导入主视图所在的views.py文件中
from blog.models import Post
from calendar.models import Calendar
现在,您可以编辑mainview以访问此数据。例如:
class Mainview(TemplateView):
template_name = 'app/homepage.html'
def get_context_data(self, **kwargs):
#This will only show the latest post
data['posts'] = Post.objects.all().order_by('-id')[:1]
data['calendar'] = Calendar.objects.all()
return data
例如,现在您可以使用{{}}标记从模板中的其他应用程序访问数据-您可以执行以下操作:
{% for post object in post %}
{{ post.title }}
{{ post.content}}
{% endfor %}
因此,这里有多个视图正在工作: 1.要显示的视图 2.呈现页面的视图,显示所有视图(我们称之为“主视图”) 第一步是将所有其他视图/模型导入主视图所在的views.py文件中
from blog.models import Post
from calendar.models import Calendar
现在,您可以编辑mainview以访问此数据。例如:
class Mainview(TemplateView):
template_name = 'app/homepage.html'
def get_context_data(self, **kwargs):
#This will only show the latest post
data['posts'] = Post.objects.all().order_by('-id')[:1]
data['calendar'] = Calendar.objects.all()
return data
例如,现在您可以使用{{}}标记从模板中的其他应用程序访问数据-您可以执行以下操作:
{% for post object in post %}
{{ post.title }}
{{ post.content}}
{% endfor %}