Saat menyetel parameter environment=
dalam file konfigurasi, tanda %
mengembalikan kesalahan Error: Format string 'KEY="%"' for 'environment' is badly formatted
.
misalnya
Oke: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wkyi"
Rusak: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"
Rusak: environment=FOO="%"
Rusak: environment=FOO="\%"
Rusak:
environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"
Anda harus dapat memasukkan %
dengan menggunakan %%
.
Supervisor menggunakan interpolasi string Python saat mem-parsing file konfigurasi, sehingga Anda dapat mengujinya seperti ini:
$ python
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i" % {}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not dict
Dengan %%
:
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'
Hai,
Saya menghadapi masalah yang sama dengan konfigurasi di environment=
parameter dalam [supervisord]
blok.
Saya memiliki parameter dengan tanda %
. Saya mencoba solusi yang disarankan (menggunakan 2 tanda %
), tetapi saya belum dapat menyelesaikan masalah.
Contoh string untuk dicoba: x1it3km%2BTVmkRsQ
Mendapatkan kesalahan berikut untuk string ini
Kesalahan: Format string 'SECRET="x1it3km%2BTVmkRsQ"' untuk 'supervisord.environment' diformat dengan buruk: karakter format tidak didukung 'B'
Saya pikir ini ada hubungannya dengan angka yang mengikuti tanda %
, tapi saya tidak yakin.
Ada ide?
@chinmaybhoir itu kasusnya ... itu menganggap %2 seperti caracter khusus atau sesuatu seperti itu .... Dalam kasus saya, saya menggunakan Django jadi saya hanya menghapus setiap % dalam kunci dan itu berfungsi dengan baik
Akan luar biasa jika supervisor dapat secara otomatis keluar dari %
s dalam string (misalnya, %(ENV_SECRET_KEY)
saat ini berkembang menjadi x1it3km%2BTVmkRsQ
, yang tidak valid, tetapi saya ingin itu berkembang ke x1it3km%%2BTVmkRsQ
Dengan cara ini, saya tidak perlu mengubah kunci rahasia Django saya untuk membuat supervisor senang.
Komentar yang paling membantu
Anda harus dapat memasukkan
%
dengan menggunakan%%
.Supervisor menggunakan interpolasi string Python saat mem-parsing file konfigurasi, sehingga Anda dapat mengujinya seperti ini:
Dengan
%%
: