๊ตฌ์ฑ ํ์ผ์์ environment=
๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ ๋ %
๊ธฐํธ๋ Error: Format string 'KEY="%"' for 'environment' is badly formatted
์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค.
์
์ข์: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wkyi"
ํ์: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"
ํ์: environment=FOO="%"
ํ์: environment=FOO="\%"
๊ณ ์ฅ:
environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"
%
๋ฅผ ์ฌ์ฉํ์ฌ %%
%
๋ฅผ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค.
Supervisor๋ ๊ตฌ์ฑ ํ์ผ์ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ Python ๋ฌธ์์ด ๋ณด๊ฐ์ ์ฌ์ฉํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ ์คํธํ ์ ์์ต๋๋ค.
$ 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
%%
:
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'
์๋ ํ์ธ์,
[supervisord]
๋ธ๋ก ๋ด environment=
๋งค๊ฐ๋ณ์์ ๊ตฌ์ฑ๊ณผ ์ ์ฌํ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
%
๊ธฐํธ๊ฐ ์๋ ๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค. ์ ์๋ ์๋ฃจ์
(2๊ฐ์ %
๊ธฐํธ ์ฌ์ฉ)์ ์๋ํ์ง๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
์๋ํ ์ํ ๋ฌธ์์ด: x1it3km%2BTVmkRsQ
์ด ๋ฌธ์์ด์ ๋ํด ๋ค์ ์ค๋ฅ ๋ฐ์
์ค๋ฅ: 'supervisord.environment'์ ๋ํ ํ์ ๋ฌธ์์ด 'SECRET="x1it3km%2BTVmkRsQ"'์ ํ์์ด ์๋ชป๋์์ต๋๋ค. ์ง์๋์ง ์๋ ํ์ ๋ฌธ์ 'B'
๋๋ ์ด๊ฒ์ด %
๊ธฐํธ ๋ค์์ ์ค๋ ์ซ์์ ๊ด๋ จ์ด ์๋ค๊ณ ์๊ฐํ์ง๋ง ํ์คํ์ง ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?
@chinmaybhoir ๊ทธ๊ฒ์ ์ฌ์ค์ ๋๋ค ... % 2๋ฅผ ํน๋ณํ caracter ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค .... ์ ๊ฒฝ์ฐ์๋ Django์ ์์๊ธฐ ๋๋ฌธ์ ํค์ ๋ชจ๋ %๋ฅผ ์ ๊ฑฐํ๊ณ ์ ์๋ํ์ต๋๋ค.
๊ฐ๋
์๊ฐ ๋ฌธ์์ด์์ %
s๋ฅผ ์๋์ผ๋ก ์ด์ค์ผ์ดํํ ์ ์๋ค๋ฉด ๋๋์ต๋๋ค(์: %(ENV_SECRET_KEY)
ํ์ฌ x1it3km%2BTVmkRsQ
ํ์ฅ๋ฉ๋๋ค. ์ด๋ ์ ํจํ์ง ์์ง๋ง ํ์ฅํ๊ณ ์ถ์ต๋๋ค. x1it3km%%2BTVmkRsQ
์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๋
์๋ฅผ ๊ธฐ์๊ฒ ํ๊ธฐ ์ํด Django ๋น๋ฐ ํค๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
%
๋ฅผ ์ฌ์ฉํ์ฌ%%
%
๋ฅผ ํฌํจํ ์ ์์ด์ผ ํฉ๋๋ค.Supervisor๋ ๊ตฌ์ฑ ํ์ผ์ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ Python ๋ฌธ์์ด ๋ณด๊ฐ์ ์ฌ์ฉํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ํ ์คํธํ ์ ์์ต๋๋ค.
%%
: