django模板中的{%include%} vs {%extends%}

sas*_*tch 30 django include django-templates

什么时候特别扩展模板和何时使用包括?是否包含对用户个人资料部分等内容的任何使用(比如关于我在我们网站的角落)?

Thi*_*ter 53

扩展允许您从父模板替换块(例如"内容"),而不是包括构建页面的部分(例如"标题"和"页脚").这允许您拥有一个包含完整布局的模板,并且您只需通过替换块来"插入"另一个模板的内容.

如果在所有页面上都使用了用户配置文件,您可能希望将其放在基本模板中,该模板由其他人扩展或包含在基本模板中.如果您只想在非常少的页面上使用用户配置文件,则还可以将其包含在这些模板中.如果用户配置文件除了在几个页面上相同之外,请将其放在块中的基本模板中,然后可以在需要不同配置文件的模板中将其替换.

  • 关于extends/block/include的最佳总结 (5认同)

Unr*_*son 7

请参阅 django模板继承

扩展某种“包含”父模板,然后可以为不同的功能覆盖它的一部分。

Include 执行一个简单的 include 在当前上下文中渲染模板。

  • 这已经改变了,因为上面的链接似乎没有给出一个例子或解释继承。 (4认同)

MUH*_*JID 5

扩展创建“父子关系”。在扩展的情况下,有可能会覆盖父功能。而 include 只是渲染 html 响应。