我有一张包含地址信息的表格。它有这些字段。
- 地址_1
- 地址_2
- 城市
- 状态
- 压缩
不需要字段。我想在模板中显示它并很好地格式化它。我想要在 address_1、address_2 和任何存在的城市/州/ zip 线之间换行。如果两者都存在,我还希望在城市和州之间使用逗号。完成此任务的最佳方法是什么?我开始在模板中编写一个 if 语句,但它似乎变得有点笨拙。最大的问题是用户只能输入城市和州、邮政编码、完整地址或介于两者之间的任何内容。
最佳答案
实现这一目标的方法有很多种,但没有一种可能是那么优雅。我会把它扔进戒指...在您的处理程序中执行此操作,并将 address_parts
传递给模板上下文。
## Gather the address components in groups, removing any that are None
address_parts = filter(None, [
model_obj.address_1,
model_obj.address_2,
u', '.join(filter(None, [model_obj.address_city, model_obj.state])),
model_obj.zip,
])
## In the template, join the address groups
{{ address_parts|join:"<br>" }}
关于python - Django:如何在不知道有多少信息可用的情况下很好地格式化模板中的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713800/