master
๋ถ๊ธฐ์ ์กด์ฌํจ์ ํ์ธํ์ต๋๋ค.Django ๊ด๋ฆฌ์์ ํ ํฐ ๋ณ๊ฒฝ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ธ์. ๊ธฐ๋ณธ ํค ๊ฐ ํค์ด๋ฏ๋ก ํค๋ URL์ ํ ํฐ์ ์ฐธ์กฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ธ์ฆ ํ ํฐ์ด ์ก์ธ์ค ๋ก๊ทธ๋ก ๋์ถ๋ฉ๋๋ค.
๊ด๋ฆฌ์ ํ์ด์ง ์ ๊ทผ ๊ถํ์ด ์๋ ์ฌ์ฉ์(๋์)์ ๋ก๊ทธ ๋ณด๊ธฐ ๊ถํ์ด ์๋ ์ฌ์ฉ์(์ค๊ฐ)์ ์ ๊ทผ ๊ถํ์ด ๋ค๋ฆ ๋๋ค.
์ธ์ฆ ํ ํฐ์ URL ๋ฐ ์ธ๋ ํค ์ฐธ์กฐ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ํค๋ก ์ ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ํ ํฐ ๊ฐ ์์ฒด๋ ๊ณ ์ ์ธ๋ฑ์ค๊ฐ ์๋ ํค๊ฐ ์๋ ์์ฑ์ด์ด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ ํค๋ ๋น๋ฐ ํค ์๋ฃ์ ๋๋ค.
ํ์ธ. ๋ค. ์ด์์ ์ด์ง ์์ต๋๋ค.
ํ ํฐ ๊ด๋ จ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ ํต์ ์ผ๋ก ์ ๊ณต๋ ๊ตฌํ์ด ์๋์ ์ผ๋ก (๊ณผ๋ํ๊ฒ) ๋จ์ํ๊ณ ๋ ๋ณต์กํ๊ฑฐ๋ ๋ ๋์ ๊ฒ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ ์ ๊ตฌํ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ด์์ต๋๋ค. (์ฌ๊ธฐ์ ๊ฒฐ๋ก ์ ์ ์ง ๊ด๋ฆฌ ๋ถ๋ด์ ํฉ๋ฆฌ์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ๋ ์ด์ ๋ณต์ก์ฑ์ ์ถ๊ฐํ์ง ์๋๋ก ํ๋ค๋ ๊ฒ์ ๋๋ค.)
๊ด๋ฆฌ์ ํ์ด์ง ์ ๊ทผ ๊ถํ์ด ์๋ ์ฌ์ฉ์(๋์)์ ๋ก๊ทธ ๋ณด๊ธฐ ๊ถํ์ด ์๋ ์ฌ์ฉ์(์ค๊ฐ)์ ์ ๊ทผ ๊ถํ์ด ๋ค๋ฆ ๋๋ค.
ํ๋ก๋์
ํ๊ฒฝ์์ ์ ๊ณต๋ ๊ตฌํ์ ์ฌ์ฉํด์ผ ํ๋ ์ฌ๋๋ค์๊ฒ๋ ์ด๊ฒ์ด ์ฌ์ค์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
(์ด ๊ฒฝ์ฐ ๊ทธ๋ค์ ๋์ผํ ์ฌ๋์ด ๋ ๊ฒ์
๋๋ค.)
๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ญ๋ผ๊ณ ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง...
ํ ํฐ ๊ด๋ จ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ ํต์ ์ผ๋ก ์ ๊ณต๋ ๊ตฌํ์ด ์๋์ ์ผ๋ก (๊ณผ๋ํ๊ฒ) ๋จ์ํ๊ณ ๋ ๋ณต์กํ๊ฑฐ๋ ๋ ๋์ ๊ฒ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ ์ ๊ตฌํ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ด์์ต๋๋ค.
๋๋ ์ด ์ ์ฅ์ ์ดํดํ์ง๋ง ๋ฌธ์๋ ์ฌ์ฉ์์๊ฒ ์ต์ํ ๋ด์ฅ ๊ตฌํ์ ์ฌ์ฉํ์ง ์๋๋ก ๊ฐ๋ ฅํ ๊ถ์ฅํด์ผ ํ๋ฉฐ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ ์ค๋จํด์ผ ํฉ๋๋ค. ํ ํฐ/์๋ช ์ธ์ฆ์ ๋ํ ํ์ฌ ๊ถ์ฅ ์ฌํญ์ 3๋ ๋์ ์ ๋ฐ์ดํธ๋์ง ์์ https://github.com/etoccalino/django-rest-framework-httpsignature ์ ๋๋ค. ๋๋ ์ 3์ ํ ํฐ ์ ๊ณต์๊ฐ ์ฆ์ ์ ๊ณต๋์ง ์๋๋ค๋ฉด ๋ ๋ง์ ๊ด์ฌ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์์ํ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋งค์ฐ ์ฌ๊ฐํ ์ ๋ณด ๊ณต๊ฐ IMO์ด๋ฏ๋ก authtoken์ ๊ธฐ๋ณธ ์์น๊ฐ ์ด ๊ฒฝ์ฐ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ธ์ง ํ์ ํ ์ ์์ต๋๋ค.
์๋, ๊ทธ๋์ ๋ด๊ฐ ๊ทธ๊ฒ์ ๋ซ์ง ์์ ์ด์ ๋ ...
์ ๋ต๋ณ์ด ์๋ํ ๊ฒ๋ณด๋ค ๊ฑฐ์น ๊ฒ ๋์๋ค๋ฉด ์ฃ์กํฉ๋๋ค. ๊ทธ๊ฑด ์ ๋ชฉํ๊ฐ ์๋์์ต๋๋ค.
์๋ฌด ๋ฌธ์ ์์ต๋๋ค! ๐
(URL์ ์๋ ํค์ ํด์๋ฅผ ์ฌ์ฉํ๋๋ก ModelAdmin์ mungํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค...)
๊ตํํ์ง๋ง ๊ทธ ์๊ฐ๋ ์ํํ๊ฒ ๋๊ปด์ง์ง๋ง ์ด์ ๋ ๋งํ ์ ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์ ์ ์์ ์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํฉ๋๋ค. ๊น๋ค๋ก์ด ๋นํธ๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ธ๋ ํค์ด์ง๋ง ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค. DRF๋ ํ ํฐ์ ๋ํ FK๋ฅผ ์์ฑํ์ง ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ๊ทธ๋ ๊ฒ ํ ์ด์ ๋ ๋ง์ง ์์ต๋๋ค.
์ด์ ์ ๊ธฐ๋ณธ ํค ํ๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ค๊ณ ์๋ํ ์ ์ด ์๋ ๊ฒ ๊ฐ์ง๋ง, ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ์์ ์ด ์์๊ณ ํด๋น ์ธ๋ ํค๋ ์ ๋ฐ์ดํธ๋ ๊ฒ์ผ๋ก ๊ธฐ์ตํฉ๋๋ค.
์. ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์ด ํ์ํ์ง๋ง ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ํํ๊ธฐ์ ์ถฉ๋ถํ ์ฌ์ธ ๊ฒ์ ๋๋ค.
ํ ๋ฆฌํ์คํธ๋ฅผ ํ์ํฉ๋๋ค. ์ ๊ณ ๊ฐ์ฌํฉ๋๋ค!
ํ ํฐ์ ๋ฐ๋์ ๊ณ ์ ํด์ผ ํฉ๋๊น?
๋ฌธ์ ๋ฅผ ์ดํดํ์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ฑํ๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค(์: ์ PK ํ๋๋ฅผ ๋์ ํ๋ฉด ํ์ฌ ๋์์ ์์กดํ๋ ์ผ๋ถ ๋ค๋ฅธ ํจํค์ง๊ฐ ์์๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ).
์ธ์ฆ ํ ํฐ์ ๋ํ Django ๊ด๋ฆฌ ํ์ด์ง ๋ด์์ ์ฐธ์กฐ๋ก ์ฌ์ฉ๋์ง๋ง ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ก ์ฌ์ฉ๋์ง ์๋ ํ ํฐ ํ ์ด๋ธ์ ์๋ ์ฆ๊ฐ ์ ์ ํ๋๋ฅผ ์ถ๊ฐํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์ฐธ๊ณ ๋ก ์ ๋ ํ์ฅ ํ ํฐ ๊ตฌํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ ๋ฐฉ๊ธ ํ์ธํ์ต๋๋ค( django-rest-multitokenauth ์ฐธ์กฐ). ๊ด๋ฆฌ์ ํจ๋์์ ๊ทธ ์ค์๋ฅผ ์ง์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ฌ๊ธฐ์์ ์๋ฃจ์ ์ ๋ณผ ์ ์๊ธฐ๋ฅผ ๊ณ ๋ํ๊ณ ์์ผ๋ฏ๋ก Python ํจํค์ง๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ์ด๊ฒ์ด ๋ด MultiTokenAuth ํจํค์ง ๋ด์์ ์์ ํ ๋ฐฉ๋ฒ์
๋๋ค.
https://github.com/anx-ckreuzberger/django-rest-multiauthtoken/commit/7e11ed606271eff0693a9280f8a30349c7e90b27
ํ ํฐ ํ ์ด๋ธ์ ๋ํ ์ธ๋ ํค๊ฐ ์๋ ๊ฒฝ์ฐ ์ ์ฌ์ ์ผ๋ก ๋ค๋ฅธ ์ฌ๋๋ค์ ์ฝ๋๋ฅผ ๊นจ๋จ๋ฆด ์ ์๋ค๋ ๊ฒฝ๊ณ ์ ํจ๊ป ๋์ผํ ์์ ์ฌํญ์ ์ฌ๊ธฐ์ ์ ์ฉํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋ ํ์ธ์,
๋๋ ๋ค๊ฐ์ค๋ ํ๋ก์ ํธ๋ฅผ ์ํด ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ๊ฐํ๊ธฐ ์ ์ ์ธ์ฆ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๊ณ ์์์ต๋๋ค. ๊ฐ๋จํ ์ง๋ฌธ์ด ์์ต๋๋ค. ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๊ด๋ฆฌ์์์ ํ ํฐ ๋ชจ๋ธ์ ๋ฑ๋กํ์ง ์์์ผ๋ก์จ ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์์ต๋๊น?
@raunaqss ๋ค, ๋ฑ๋กํ ํ์๊ฐ ์์ต๋๋ค.
๋ค์ ์ฌ๋ ค์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๊ฐ์ง๊ณ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์๋์ง ์๊ณ ์์ต๋๊น?
url์ ํด์ํด์ผ ํฉ๋๊น ์๋๋ฉด pk๋ฅผ ๋ง์ด๊ทธ๋ ์ด์
ํด์ผ ํฉ๋๊น?
PR์ ํ ์ ์์ต๋๋ค.
๋ง์ด๊ทธ๋ ์ด์
์ ์ฌ๊ธฐ์์ ํฉ๋ฆฌ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
๋๋ 3.11 ๋ฆด๋ฆฌ์ค์ ๋ง์ด๊ทธ๋ ์ด์
์ ํฌํจํ๋ ๊ฒ์ ๋ํด ๋งค์ฐ ์กฐ์ฌ์ค๋ฝ๊ฒ ์๊ฐํฉ๋๋ค. ๋งค์ฐ ํฐ API ํค ํ
์ด๋ธ์ ๊ฐ์ง ์ฌ๋๋ค์๊ฒ๋ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋ ์์์น ๋ชปํ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
๋ด ์๊ฐ์ ํ๋ช
ํ ์ผ์ ์๋ง๋ ์ด์ ๋ํ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ณ๋๋ก ๋ฆด๋ฆฌ์คํ์ฌ ์์ํ์ฌ ์ผ๋ถ ์ฌ๋๋ค์ด ์ฐ๋ฆฌ ๋ฆด๋ฆฌ์ค์ ๋ณ๋๋ก ๋ชจ๋ ๊ฒ์ ๋จผ์ ํ
์คํธํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ด ๋ง์กฑ์ค๋ฌ์ฐ๋ฉด ๋ง์ด๊ทธ๋ ์ด์
์ ์ง์ ํฌํจํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
3.11 ๋ฆด๋ฆฌ์ค ์์ฒด์์ ํธ์ํ๊ธฐ ๋ณด๋ค๋ ์ด์ ๋ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ณ๋๋ก ๋ฆด๋ฆฌ์คํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ ๋ API ํค ํ ์ด๋ธ์ด ๋งค์ฐ ํฐ ์ฌ์ฉ์๊ฐ ์ฃผ์ ๋ฆด๋ฆฌ์ค์์ ๋ชจ๋ ์ฌ์ฉ์์ ๋ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ํธ์ํ๋ ๊ฒ์ ๋ํด ๋๋ฌด ์กฐ์ฌ์ค๋ฌ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ์ค๋ซ๋์ ๊ณต๊ฐ๋์ด ์์ผ๋ฉฐ @jarshwah ์ ๊ด์ฐฐ ์ด django-rest-knox ์ ์ํด ํด๊ฒฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ์์ ํ๊ธฐ๋ฅผ ์ํ ๊ฒ์
๋๋ค. drf์ ์๋๊ฐ TokenAuthentication
๋ฅผ ๋จ์ํ๊ฒ ํ๋ ๊ฒ์ด๋๋ผ๋ ๋ง์ ๊ฐ๋ฐ์๋ ์์ ํ์ง ์์ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ์๋์ ์ผ๋ก ๋น๋ฐ ์๋ฃ๋ฅผ ์ ์ถํ๋ ์ฝ๋๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจํด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ง์ ์ด ์์์ต๋๊น? ๋ฌธ์ ์ ๋ํด ํ์๊ธ์ ๊ฑธ ์ ์๋ ์ฌ๋์ด ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ฝ๋๋ฅผ ๊ธฐ์ฌํ๊ฑฐ๋ ํ์๊ธ์ ์ง๋ถํ๋ ๋ฐ ๊ด์ฌ์ด ์์ ๊ฒ์ ๋๋ค.
3.12์ ์ฐ์ ์์๋ฅผ ๋๊ฒ ์ต๋๋ค.
์ฝ๋ ๊ธฐ์ฌ์ ๊ด์ฌ์ด ์์ต๋๋ค.
๋ฌผ๋ก PR์ ๋ฐํํ๋ ๊ฒ์ ํ์ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฝ๋๋ฅผ ๊ธฐ์ฌํ๊ฑฐ๋ ํ์๊ธ์ ์ง๋ถํ๋ ๋ฐ ๊ด์ฌ์ด ์์ ๊ฒ์ ๋๋ค.
ํ์์๊ฐ ๋๋ ๊ฒ์ ๊ธฐ์ฌํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์์๋ ์ฐ์ ์ง์์ ๋ฐ์ผ๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ์์ค์ปฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. https://fund.django-rest-framework.org/topics/funding/# ๊ธฐ์ - ๊ณํ
๋ชจ๋ ํ๋ฅญํ๊ฒ ๋ค๋ฆฝ๋๋ค! ์ ๋ ์ด์ drf ๋ฐ encode์ ํ์์์ ๋๋ค. ํด๊ฒฐ ์์ ์ ์์ํ ๋ ์ด ๋ฌธ์ ๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค.
์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ๐
์ข์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ฐ์ํ๊ฒ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ช ํ ํ์ง ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ชจ๋ธ์ด ๊ธฐ๋ณธ ํค์ ๋ํด ์๋ ์ฆ๋ถ int๋ฅผ ์ฌ์ฉํ๊ณ "key" ํ๋๊ฐ ํ์ค ๊ณ ์ ํ ์ธ๋ฑ์ฑ๋ ํ๋๊ฐ ๋๋๋ก ํ๊ณ ์ถ์ง๋ง ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ์ ์ ํ์...
rest_framework.authtoken2
์ ๊ฐ์ ๊ฒ์ ๋์
ํ๊ณ ๋ฌธ์๊ฐ ๋์ ์ด๋ฅผ ์ฐธ์กฐํ๋๋ก ํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ก์ ํธ๊ฐ ๋ ๋์ ๊ธฐ๋ณธ๊ฐ์ ์ป์ ์ ์์ต๋๋ค.๋๊ตฌ๋ ์ง ์ด๊ฒ์ ๋ํ ์ฌ์ ์๊ฐ์ด ์์ต๋๊น?
๋ํ: ์ด๊ฒ์ด ์ด๊ฒ์ด ์ค๋ซ๋์ ๋ณด๋ฅ๋ ์ด์ ์ ๋๋ค. ์ฌ์ด ๋๋ต์ ์์ต๋๋ค. ๐ฌ
_"๊ด๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ ์๊ฐ"_ ์ต์ ์ ๋ณด๊ธฐ ์ํด #7341์ ์ด์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ฌผ๋ก PR์ ๋ฐํํ๋ ๊ฒ์ ํ์ํฉ๋๋ค.
ํ์์๊ฐ ๋๋ ๊ฒ์ ๊ธฐ์ฌํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์์๋ ์ฐ์ ์ง์์ ๋ฐ์ผ๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ๋ฌธ์ ๋ฅผ ์์ค์ปฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. https://fund.django-rest-framework.org/topics/funding/# ๊ธฐ์ - ๊ณํ