Python Django;如何组织常用函数或类似模板

Python Django;如何组织常用函数或类似模板,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,我是初学者。我一直在做Django项目。现在我正在尝试创建通知部分,并获得通知的数量 通知部分位于like mypage上。mypage上有列表菜单,该部件是通用的。现在我想在mypage上显示计数,但我想知道是否必须获得公共上下文 在属于我的页面的页面上有一个公共部分。 inbox.html,my_profile.html等 <div class="list-group"> <a href="#"> My page top </a&

我是初学者。我一直在做Django项目。现在我正在尝试创建通知部分,并获得通知的数量

通知部分位于like mypage上。mypage上有列表菜单,该部件是通用的。现在我想在mypage上显示计数,但我想知道是否必须获得公共上下文

在属于我的页面的页面上有一个公共部分。
inbox.html
my_profile.html

<div class="list-group">
    <a href="#">
        My page top
    </a>
    <a href="#">
        Inbox
    <span class="badge badge-primary badge-pill">{{ this is the count of notifications }}</span>
    </a>
views.py中

def mypage_top(request):
   ...

def my_profile(request):
   ...

def inbox(request):
  ...

我的问题是,我是否必须写下在每个视图上调用函数的过程?我想知道是否有更好的方法。

在视图外编写函数,或者在另一个文件中导入它。然后调用每个视图的函数


创建一个文件“my_view_funcs.py”并编写函数。然后将文件导入“views.py”并调用get_number_of_notifications(self)

Django视图只应返回视图特定的数据作为模板的上下文(当然对于使用模板的视图)。要在模板的上下文中注入“公共”数据,有两种主要解决方案:a或a

上下文处理器将为每个模板调用(几乎,参见文档),因此最好将它们保存在“便宜”的数据中,并且对所有视图都非常有用(典型的例子是
auth
i18n
处理器)


对于成本较高且可能仅在某些模板中使用的数据,您更希望使用自定义templatetag,这就是我在这里要使用的。不要被文档吓到,编写一个像这样的定制templatetag真的很容易。

可能是重复的,那么我真的需要在每个视图中调用相同的函数吗?@ani不,肯定-Django没有那么笨,这个问题在所有项目中都很常见,所以当然有更好的解决方案,请参阅我的答案。非常感谢。这似乎对我有帮助。
def mypage_top(request):
   ...

def my_profile(request):
   ...

def inbox(request):
  ...