django ajax和非ajax模板

bha*_*ral 0 django

我有一个django模板 - 通常通过标准的get请求加载.但是,我还想将此模板用于ajax get.

我知道我可以使用request.is_ajax区分呼叫,从而制定出哪些我应该成为网页-我不知道是如何避免复制.

问题是,页面扩展了一个基本的htm文件 - 一个具有所有铃声和口哨声的文件(你知道,标题,菜单等).我不希望这出现在ajax页面中!我想要的是页面出现,而不是扩展基础htm

我只能想到,也许我有两个文件 - 一个只有内容(ajax版本),另一个扩展基本htm,并以某种方式导入(不扩展)第一个文件...

我是怎么做上述的,或者我是如何解决这个问题的?

San*_*4ez 12

除了@Daniel响应,如果你有上下文处理器,你可以使用yesno模板过滤request器,例如

{% extends request.is_ajax|yesno:"base_ajax.html,base.html" %}
Run Code Online (Sandbox Code Playgroud)

此行应位于您用于页面和ajax内容的每个模板中.