Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果块未扩展,则引发异常-Django templates_Django_Django Templates - Fatal编程技术网

如果块未扩展,则引发异常-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-文件>设置>编辑器>文件和代码模板它可以工作-但我正在寻找一个例外。谢谢你的回答