我有两个具有以下结构的应用程序
project->
main app->
templates->
dashboard.html
my app->
templates->
mydashboard.html
我想将mydashboard
包含在dashboard
中,那么可以使用包含模板标记来实现。但是当我必须将一些参数传递给mydashboard
时,我的问题出现了,假设它们分别名为param1
和param2
,这些参数是我必须从my app
加载的变量应用程式。一种可行的方法是在mainapp
的仪表板视图中填充这些参数,并使用include
标签将它们传递到mydashboard.html
中,如下所示
def user_dashboard(request):
...-->here I have to get data from my app (this view is in main app and I do not want to make main app be dependent to my app
return render(request, 'dashboard.html', {'param1': 0, 'param2': 34})
然后在dashboard.html
中添加此部分
{% is_app_installed "myapp" as is_myapp_installed %}
{% if is_myapp_installed %}
{% include "myappdashboard.html" with param1=param1 param2=param2 %}
{% endif %}
似乎上述方法可行,但主要问题在于使用此方法mainapp
依赖于myapp
,我不希望发生这种情况。
还有其他方法可以在myapp
中加载那些param1和param2吗?
谢谢
答案 0 :(得分:1)
我看不到模板的详细信息,但是如果要分离两个模板,我建议您重新考虑如何组织模板逻辑。尝试重新排列在带有摘要和基本模板的通用模板目录中添加base_dashboard.html
以便在应用程序之间共享的逻辑。
然后myappdashboard.html
和dashboard.html
可以用{% extend base_dashboard.html %}
进行扩展。