Несколько ключей/значений request.POST в строку через функциюPython

Программы на Python
Anonymous
Несколько ключей/значений request.POST в строку через функцию

Сообщение Anonymous »

Я пытаюсь записать значения из запроса.POST в строковый формат.
По умолчанию они всегда начинаются с «epochs-NUMBER-».
Поэтому мне нужно нарисовать цикл For, чтобы что для каждого числа создается новая строка.
Изменить:
Запрос исходит из динамической формы Django, которая не имеет статических элементов (эпохи являются динамическими). Это стандартный POST-запрос Python. Единственное, что общего у этих элементов, это то, что все они начинаются одинаково (эпохи-номер-и т. д.). Запрос обрабатывается через строку (nmea_sting-Function) в файл с использованием Python.
Полный запрос выглядит так. Но мне нужны только значения 'epochs-NUMBER-'
csrfmiddlewaretoken=hJmSuP3O6GmtwBeJhfqb99LaCVOKxgngGNIEqoqhQQR7tQELUVGHeXRXxfnRE1Ah&base-TOTAL_FORMS=1&base-INITIAL_FORMS=0&base-MIN_NUM_FORMS=0&base-MAX_NUM_FORMS=1000&base-0-time=25.06.2024+13%3A36%3A00&base-0-show_differences=on&base-0-show_null=1&source=Manual&epochs-TOTAL_FORMS=3&epochs-INITIAL_FORMS=3&epochs-MIN_NUM_FORMS=0&epochs-MAX_NUM_FORMS=1000&unit_selector=m&unit_selector=m&unit_selector=m&unit_selector=m&epochs-0-target_name=250.01.G&epochs-0-easting=55555&epochs-0-northing=5555&epochs-0-height=555&epochs-0-azimuth=&epochs-0-zenithangle=&epochs-0-slope_dist=&epochs-1-target_name=170.01.G&epochs-1-easting=44646&epochs-1-northing=6554&epochs-1-height=544&epochs-1-azimuth=&epochs-1-zenithangle=&epochs-1-slope_dist=&epochs-2-target_name=150.01.G&epochs-2-easting=78979878&epochs-2-northing=4645&epochs-2-height=455&epochs-2-azimuth=&epochs-2-zenithangle=&epochs-2-slope_dist=
Запрос выглядит так:
Изображение

Изменить:
Одна цель — epochs-0-etc, следующая — epochs-1-etc. и так далее. К сожалению, мое решение на данный момент работает только для одной цели (epochs-0-etc)
def nmea_string(self, request, target_name):
my_dict = {}
keys = []
values = []
target_raw_string = ("PTER," + self.short_name + "_TRG," + target_name + "," +
self.time.strftime("%Y-%m-%d %H:%M:%S") + "," + str(self.status_target))
for key, value in request.POST.items():
keys.append(key)
values.append(value)
for i in range(len(keys)):
my_dict.update({keys: values})

for k, v in my_dict.items():
if k.startswith('epochs-0-'):
if v == '':
v = '-9999.999900'
if k.startswith('epochs-0-target_name'):
target_raw_string += "," + v
else:
target_raw_string += "," + v + ",0.000000"

tg_checksum = self.get_checksum(target_raw_string)
tg_nmea_string = "$" + target_raw_string + "*" + tg_checksum + "\n"

nmea_string += tg_nmea_string

return nmea_string

Конечный результат должен выглядеть примерно так:
$PTER,TS_TRG,250.01.G,2024-04-22 23:00:00,129,675666.252000,0.000000,252132.398000,0.000000,412.137000,0.000000,-9999.999900,0.000000,-9999.999900,0.000000,-9999.999900,0.000000*1F
$PTER,TS_TRG,170.01.G,2024-04-22 23:00:00,129,675704.440000,0.000000,252162.055000,0.000000,412.341000,0.000000,-9999.999900,0.000000,-9999.999900,0.000000,-9999.999900,0.000000*1A


Подробнее здесь: https://stackoverflow.com/questions/786 ... a-function

Вернуться в «Python»