You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板中使用双块,Ajax代码无法读取的问题咨询

Django模板Ajax块无法读取的原因及修复方案

你的代码里存在几个明显的Django模板语法错误,直接导致content_ajax块无法被模板引擎识别:

  • 块结束标签不匹配:第一个{% block content %}对应的结束标签写成了{% endblock content_ajax %},这会打乱模板的块结构,让引擎误以为content块还没结束。
  • 块定义语法错误:你用HTML标签<h1>包裹了block content_ajax的定义,正确的块定义应该是纯模板标签{% block content_ajax %},不能和HTML代码混写。
  • 多余的结束标签:代码末尾多了一个无对应开头的{% endblock content_ajax %},进一步破坏了模板结构。

修正后的代码示例

{% extends 'store/main.html' %} 
{% load static %} 

{% block content %}
    // 这里放HTML/Django相关代码
{% endblock content %}

{% block content_ajax %}
    <pre><code>
        // 这里放Ajax代码
    </code></pre>
{% endblock content_ajax %}

关键说明

Django模板的块必须严格遵循{% block 块名 %}开头、{% endblock [块名] %}结尾的语法规则:

  • 块标签是模板引擎的专属语法,不能被HTML标签包裹或混合编写
  • 每个{% block %}必须有对应的结束标签,且块名要匹配(不写块名也可以,但写了更清晰)
  • 继承模板时,子模板的块必须在父模板中存在对应的定义,否则引擎会忽略该块内容

内容的提问来源于stack exchange,提问作者Sofiane SEHAKI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:05:33