Как динамически вводить значения в многострочную строку в python на основе циклов - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь передать значения в многострочную строку в соответствии со значением приложения, присутствующим во входном json. Печать блока для приложения со значениями, проанализированными из json.

  block = """
  {app} <<
  {default1};
  {default2};

  server_name {servername1};
  server_name {servername2};

  location {location}
  ^
  proxy_pass http://{application};

  allow {filter1};
  allow {filter2};
  $
  >>"""

Добавление блока в приложение согласно ниже

  all += '\n' + block.format(**sub).replace('<<', '{').replace('^','{').replace('$','}').replace('>>', '}')

Я сохранил значения, которые должны быть переданы в подпункте.

Теперь в случае переменной местоположения в блоке - это значение меняется для каждого приложения. Для одного приложения есть только одно местоположение, а для другого есть два значения. Я получаю только последнее значение местоположения, поскольку оно перезаписывается в цикле. как я могу написать dymacially обновить блок местоположения внутри app_block

Ниже показано, как должен быть вывод.

app1 {

location / {
    data
}
location /public {
    data
}

}

app2 {

location / {
    proxy_pass http://production;
}
location /secret {

}
}
...