【发布时间】:2021-01-06 21:52:11
【问题描述】:
我不知道如何在模板中使用 javascripit 循环遍历 JSON 对象(我知道如何在 HTML 部分中执行此操作,但我需要它在 javascript 中)。我发现如果我在这样的变量中保护我的 JSON 对象:
<script>
let schedule = "{{ barber.schedule.schedule_day | safe}}"
</script>
它被保存为字符串类型,我无法使用它,schedule[0] 显示第一个字符是[
我也不能 JSON.parse 它,因为错误出现“位置 2 的 JSON 中出现意外的令牌”我猜这是因为我的日程安排有单引号插入了双引号
这就是我的日程安排在我控制台记录时的样子
[{'start': 8, 'end': 10}, {'start': 12, 'end': 14}, {'start': 15, 'end': 16}]
这就是来自模型的 JSON 的样子
{
"schedule_day": [
{
"start": 8,
"end": 10
},
{
"start": 12,
"end": 14
},
{
"start": 15,
"end": 16
}
]
}
views.py
class Barber_schedule(DetailView):
model = Barber
context_object_name = 'barber'
models.py
schedule_template = '''
{
"schedule_day": [
{
"start": 8,
"end": 16
}
]
}
'''
class Barber(models.Model):
name = models.CharField(max_length=30)
start_time = models.IntegerField(default=8, validators=[MaxValueValidator(16), MinValueValidator(0)])
JSON_schedule_template = json.loads(schedule_template)
schedule = models.JSONField(default=JSON_schedule_template)
photo = models.ImageField(upload_to='barber_avatar', default='default.png')
def __str__(self):
return self.name
【问题讨论】:
标签: javascript python json django