来自同一页面上不同应用程序的CreateView和ListView。

时间:2016-03-11 15:04:33

标签: python django django-templates django-views

我有两个不同的应用程序,食谱和评论。

我在食谱应用程序中有一个DetailView,它指向url(r'^(?P<pk>\d+)/$', RecipeDetailView.as_view(), name='recipe-detail'),它也在食谱app url文件中。

我的评论应用中的views.py文件中也有一个CreateView。如何将我的评论应用中的CreateView放入上面显示的相同网址?我是否在模板中执行此操作?或者我在配方views.py或urls.py文件中执行此操作?

我在使用一个应用程序制作视图时没有任何问题,我正试图在应用程序中显示视图。

1 个答案:

答案 0 :(得分:0)

首先,忘掉这里的应用程序;他们与任何事都无关。应用程序只是模型和视图的集合,与页面上显示的内容无关。

您的问题是,单个视图专门负责呈现页面。 Django响应特定URL上的请求调用视图,并且从那里返回的任何内容都成为页面的内容。无法从URL调用多个视图。

相反,您需要考虑构建代码,使视图呈现来自多个位置的内容。有多种方法可以做到这一点,例如包括模板,使用模板标签或上下文处理器,组合基于类的视图等。