我正在尝试在同一网页上显示2个应用的输出,但是在尝试使用建议的here解决方案时遇到问题。
我有一个“ main_app”处理页面大部分内容,并希望在同一页面上添加“ sub_app”(即呈现的<div>
元素)的输出。
这是我在sub_app
视图中收集main_app
的输出的方法:
from sub_app.views import sub_app_view #
def main_app_view(request):
my_sub_app_html = user_tests(request) #supposed to get rendered HTML content from sub_app
context = {
'sub_app_html ': my_sub_app_html,
}
return render(request, 'main_app.html', context)
然后在sub_app
中查看:
def sub_app_view(request):
context = {
'sub_app_context': "foo",
}
return render(request, 'sub_app/sub_app.html', context)
main_app.html
包含:
<p>
{{ sub_app_html }}
</p>
和sub_app.html
:
<div id="mydiv">
{{ sub_app_context }}
</div>
但不是正确显示来自sub_app_view
的呈现HTML,而是在浏览器中main_app.html
中显示的内容是:
<HttpResponse status_code=200, "text/html; charset=utf-8">
。
是否有解决方案,或者是实现应用之间链接的更好方法?
答案 0 :(得分:1)
您可以使用 **
javascript和jquery
**
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=IdenDB;Trusted_Connection=True;MultipleActiveResultSets=true");
}
成功后,您可以将html附加到div
**
Django解决方案:
**
render函数返回HttpResponse(内容,内容类型,状态) 因此,要获取模板html,您需要:
$.ajax({
type: "get",
url: url_app_1,
data: data,
success: here add your html to your div1,
dataType: dataType
});
$.ajax({
type: "get",
url: url_app_2,
data: data,
success: here add your html to your div2,
dataType: dataType
});
这是render的源代码