Python 如何在Django中访问视图之外的模型?
我正在创建一个数据库站点,其中一个需要的功能是在导航栏中有一个按钮,该按钮将允许用户访问模型中的随机对象。Django Cookbook提供了我实现的功能 但是,我似乎无法从导航栏调用此函数,因为导航栏位于一个单独的html文件中,该文件包含在Python 如何在Django中访问视图之外的模型?,python,django,Python,Django,我正在创建一个数据库站点,其中一个需要的功能是在导航栏中有一个按钮,该按钮将允许用户访问模型中的随机对象。Django Cookbook提供了我实现的功能 但是,我似乎无法从导航栏调用此函数,因为导航栏位于一个单独的html文件中,该文件包含在{%block content%}上方的中,该文件允许它出现在网站的每个页面上。但是,这意味着它从未看到模型对象本身,因此我无法使用导航栏中的{{object.get_random}}访问函数 我的一个想法是在导航栏中使用这样的链接 <a href=
{%block content%}
上方的中,该文件允许它出现在网站的每个页面上。但是,这意味着它从未看到模型对象本身,因此我无法使用导航栏中的{{object.get_random}}
访问函数
我的一个想法是在导航栏中使用这样的链接
<a href="{% url 'roma:category_list.object.get_random.get_absolute_url' %}">Random Category</a>
其中,category\u list
是将模型传递给它的视图。我希望从模型中获取一个对象,然后是get_random
函数,最后是get_random
函数返回的对象的url。
这显然是行不通的。
是否有一种解决方案允许我访问navbar html中的函数?在呈现模板时,我不会进行随机化,而是创建一个带有url(如“/random”)的专用视图链接。调用该url时,视图可以执行随机操作,并将您重定向到随机模型。在呈现模板时,我不会执行随机操作,而是使用类似“/random”的url链接到专用视图。调用该url时,视图可以进行随机化并将您重定向到随机模型。如果您遇到“此模板需要包含在特定上下文中”的问题,则应使用。如果您遇到“此模板需要包含在特定上下文中”的问题,则应使用。