在我看来,您链接的帖子中提出的内容根本不好。首先,您应该考虑要集成的“什么”。
- 行为:(功能、业务逻辑等)。
- 结构:数据库连接、操作
- 自定义驱动程序
- 渲染东西。实际系统如何呈现视图/页面/任何内容并按原样显示。
在您链接的帖子中,那个人想要集成所有内容:他只是想获取他以前在 PHP 页面中看到的内容,并像在 django 应用程序中一样显示它。老实说,这不好。我建议(仅基于个人经验)您不应该将已经渲染的页面集成到您的 django 应用程序中。
你可以做的是整合功能和行为。例如,假设您的 PHP 监控系统为您提供给定时间段内的用户数量。它有一个 PHP 函数:
<?php
function show_users($time_period){
...
}
?>
与其从该监控系统获取 HTML 并将其放入您的 Django 应用程序,不如只获取行为。例如,通过 REST 接口公开您的 PHP 应用程序。因此,在您的 Django 代码中,您可以:
# views.py
def monitoring(request):
users = monitoring_service('/users/2012/')
render(request, 'monitoring.html', {'users': users}
在您的模板中:
# monitoring.html
<ul>
{% for user in users %}
<li> {{user}} </li>
{% endfor %}
</ul>
基本上,您正在重用 PHP 应用程序的功能。但是,您正在处理渲染部分。当然,这是额外的工作,但是,相信我,这是值得的。
额外的:
我建议使用 REST,因为它是一个很好的解决方案。但是您可以选择其他接口进行通信,例如 Thrift、Protocol Buffers 或 MessagePack(仅举几例)