Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何在主页上正确呈现多个应用程序_Django_Templates_Web_View_Render - Fatal编程技术网

Django 如何在主页上正确呈现多个应用程序

Django 如何在主页上正确呈现多个应用程序,django,templates,web,view,render,Django,Templates,Web,View,Render,因此,我目前正在学习使用Django,我想知道如何正确地分割部分功能,同时仍将其显示在主页上 例如,我希望在主索引页上显示标题+导航、日历和最近的博客文章。 例如,在查看文章页面上,我有标题+导航、日历和一篇带有评论部分的文章 现在阅读教程,如果我理解正确,我会将标题应用程序、日历应用程序和博客应用程序本身的功能拆分,同时将其与核心应用程序粘在一起 但我不明白的是如何在主应用程序中呈现应用程序/其他视图。我发现的所有方法都只指定模板本身,或者看起来非常粗糙,因此显然这似乎不是常见的方法。因此这里

因此,我目前正在学习使用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 %}