我在Django模板中的多站点层次结构中工作,我需要一个主基础模板(base/base.html
),我有几个主模板,例如base/base_twocol.html
。然后我有从这些模板扩展的模板,例如base/base_twocol_SECTION
。
然后我需要拥有相同的模板集,这些模板将处理其他网站,但需要从another_site/base.html
,another_site/base_twocol.html
,another_site/base_twocol_SECTION.html
这些模板进行扩展。
目标是拥有一组可以为每个站点覆盖的主模板。
所以我有这样的事情:
templates/
base/
base.html
base_twocol.html //extends base.html
base_twocol_SECTION.html // extends base_twocol.html
another_site/
base.html //extends base/base.html
base_twocol.html //extends base/base_twocol.html
base_twocol_SECTION.html //extends base/base_twocol_SECTION.html
super_cool_site/
base.html //extends base/base.html
base_twocol.html //extends base/base_twocol.html
base_twocol_SECTION.html //extends base/base_twocol_SECTION.html
我已创建了another_site/base.html
,并使用了语法{% extends "base.html" %}
然而,当我运行服务器时,我得到一个"没有收到数据错误"来自浏览器和"总线错误"从控制台。
答案 0 :(得分:2)
总线错误通过命名文件来体现,因为有两个同名的模板,其中一个模块试图从另一个扩展。
在 another_site / base.html 中,我有{% extends "base.html" %}
,但此文件也称为 base.html 。
所以基本上,我不能有一个名为X的tempalte,另一个名为X的tempalte,它扩展了模板X.也许我的问题没有说得很正确,这就是为什么没有采用它。
子模板需要具有唯一名称。我为我的所有模板文件做了这个,现在它工作正常。
答案 1 :(得分:1)
来自django-users群组中的帖子:
由于未对齐的内存访问或访问非内存而发生总线错误 存在的内存地址。在没有实际的错误(其他人 会看到),这清楚地表明了C中的一个或另一个 python使用的库与它冲突。
如果您编译了一个用于python的C库,就会发生这种情况 许多python包中的一个,包含一个小型C库 (mysql和postgresql数据库适配器,PIL,许多其他),并使用它 与编译时不同的python。
这几乎肯定与您的模板继承无关。检查您的Python和Django安装,必要时重新安装。还请提供有关您的环境的更多详细信息,并且正如Jonas所说,还有完整的堆栈跟踪。