我刚开始使用django进行开发。目前,我有以下问题:我必须编写一个能够表示不同类别数据的页面模板。例如,假设我有一个病人的病历。有关该患者的代表信息包括:
假设对于第3点的每个条目,我需要呈现一个特定的部分。
此页面的模板可能看起来像一个长串的if
语句,每个数据条目对应一个语句,只有在存在该信息时才会使用这些语句。这将导致一个非常长的模板。在
一种可能的解决方案是在模板中使用include
指令,然后对主模板进行分段,这样我就可以得到一个include列表,而不是一个if
的列表。在
出于好奇,我想知道是否有人知道这种模式的替代策略,无论是在模板级别还是在视图级别。在
请看这个例子:http://www.djangosnippets.org/snippets/1057/
实际上,您可以在模板中循环模型的字段。在
我假设你只想显示所有这些不同字段中的数据,对吗?在每个字段中循环应该可以为您提供要查找的结果。在
或者,可以通过在视图中添加条件来设置要在视图中显示的内容。它会使你的视图函数更混乱,但会清理模板。该视图还使测试某些部分的存在变得更容易。在
这个问题的答案在很大程度上取决于你是如何组织数据的,你并没有说——额外的信息位是在不同的相关表、子类模型、同一模型上的各个字段中。。。?在
一般来说,这听起来像是模板标记的工作。我可能会编写一个自定义标记,将父对象作为参数,并检查数据以确定输出的内容。每个选择都可能由一个不同的子模板呈现,这个子模板由标记本身调用。在
相关问题 更多 >
编程相关推荐