如果块未扩展,则引发异常-Django templates
我有一个如果块未扩展,则引发异常-Django templates,django,django-templates,Django,Django Templates,我有一个base.html,其中包含块,例如: {% block somecontent %} {% endblock %} 如果另一个html扩展了这个base.html,它可以扩展somecontent块,也可以不扩展 我的问题是,如果somecontent是未扩展的,是否有一种方法可以让模板抛出异常 这将防止忘记扩展somecontent块 谢谢听起来你可能需要改变你的工作方式,在你做任何事情之前先添加块 如果您使用的是PyCharm,那么可以将默认html模板更改为为为从基础扩展的页面
base.html
,其中包含块,例如:
{% block somecontent %} {% endblock %}
如果另一个html扩展了这个base.html
,它可以扩展somecontent
块,也可以不扩展
我的问题是,如果somecontent
是未扩展的,是否有一种方法可以让模板抛出异常
这将防止忘记扩展somecontent
块
谢谢听起来你可能需要改变你的工作方式,在你做任何事情之前先添加块 如果您使用的是PyCharm,那么可以将默认html模板更改为为为从基础扩展的页面创建大纲的模板。我相信其他IDE也有类似的功能 但是作为对你问题的回答 如果somecontent未扩展,模板中的用户是否有方法引发异常 不,不是真的,您可以使默认块包含一些总是出错的模板代码 例如,下面应该抛出一个
NoReverseMatch
{% block content %}{% url 'fake_url' %}{% endblock %}
但这并不是一个非常明显的例外,可能会让其他开发人员感到困惑,如果忘记了,会让您的客户看到一个错误页面,因为这不是他们的错误
您可能最终也会发现,您并不总是希望显示要显示的块。这对您有用吗
{% block somecontent %}
<script>
alert("somecontent missing");
</script>
{% endblock %}
{%block somecontent%}
警报(“某些内容缺失”);
{%endblock%}
我还没有测试过。但当页面加载时,它应该会发出警报。出于好奇,你为什么需要它?我想包括动态开放图形内容-例如标题、图像、描述等,有时我忘记了答案的答案-从我的理解到你的答案-我已经在做了(创建一个包含所有块的base.html,然后创建其他html文件以扩展该base.html)我目前正在使用PyCharm IDE,这是如何做到的?听起来很方便。@jonprasetyo-我的观点是,如果您首先添加它们,就不能忘记添加它们do@jonprasetyo-文件>设置>编辑器>文件和代码模板它可以工作-但我正在寻找一个例外。谢谢你的回答