好吧,我想我可能找到了解决方案。我是 Django 新手,所以我不知道这是否是一个好方法,它是否打破了一些传统规则,是否打开了一些安全漏洞,或者简单地说,还有其他更好的方法,但无论如何,它有效...
因此,我创建了我的应用程序Calendar和我的应用程序Show。我希望Show调用Calendar ,呈现其模板,然后将结果插入Show模板内。
为此,我使用TemplateResponse而不是HttpResponse在日历端:
# Calendar view
from django.template.response import TemplateResponse
def render_calendar(request):
return TemplateResponse(request, 'calendar/calendar-template.html', {})
Run Code Online (Sandbox Code Playgroud)
然后在 Show 端,获取实例TemplateResponse,调用其render()方法,最后将其插入到rendered_content上下文中:
# Show view
from calendar import views
def show(request, show_id):
cal = views.render_calendar(request)
cal.render()
context = {"calendar": cal.rendered_content}
return render_to_response("show/show-template.html", context)
Run Code Online (Sandbox Code Playgroud)
这就是窍门!