Udemy์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๋ด์ฉ
Udemy
the Complete Guide to Django REST Framework and Vue JS
payload = {"base": "USD", "symbols": "SEK"}
response = requests.get("https://api.exchangeratesapi.io/latest",
params=payload)
def main():
response = requests.get("http://www.google.com")
print("Status Code: ", response.status_code)
print("Content: ", response.text)
if __name__ == "__main__":
main()
Tip! ๋ชจ๋์ ์คํํ ์ ์๋ ๋ฐฉ๋ฒ
1. ์ง์ ์คํ
2. ์ํฌํธ
__name__ == "__main__
์ ์ธํฐํ๋ฆฌํฐ์์ ์ง์ ์คํํ์ ๊ฒฝ์ฐ์๋ง if๋ฌธ ๋ด์ ์ฝ๋๋ฅผ ๋๋ฆฌ๋ผ๋ ๋ช
๋ น
Tip! __name__
์ธํฐํ๋ฆฌํฐ๊ฐ ์คํ ์ ์ ๋ง๋ค์ด ๋ ๊ธ๋ก๋ฒ ๋ณ์
class ProductListView(ListView):
model = Product
template_name = "products/product_list.html"
urlpatterns = [
path("products/", ProductListView.as_view(), name="product_list"),
]
.as_view()
๋ ์ง์
๋ฉ์๋๋ก ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋๋ฐ ์์ฑ๋ ์ธ์คํด์ค๋ dispatch()
๋ฉ์๋๋ฅผ ํธ์ถํจ
dispatch()
๋ GET, POST ๋ฑ HTTP Method๋ฅผ ๊ตฌ๋ถํ์ฌ ํด๋น ์ธ์คํด์ค ๋ด์ get, post๋ฑ ๋ฉ์๋๋ก ์ค๊ณ๋ฅผ ํ๋ฉฐ ํด๋น ๋ฉ์๋๊ฐ ๊ตฌํ๋์ง ์์์ ๊ฒฝ์ฐ HttpResponseNotAllowed ์์ธ๋ฅผ ๋ฐ์ ์ํด
.as_view()
์ ์ธ์๋ก ์ ํด์ง๋ ๊ฒ์ ํด๋น View์ ์ ๋ฌ๋ ์ธ์๊ฐ ๋๋ฏ๋ก View ๋ก์ง์ ๊ตฌํํ๋๋ฐ ํ์ํ ๊ฒ์ด ์๋ค๋ฉด ์ธ์๋ก ๋๊ฒจ์ค์ผ ํจ
Tip! View ์ข ๋ฅ
- ํจ์ํ View
- ์ ์ํ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ์ง๋ง ๋ก์ง์ด ๋ณต์กํด์ง
if request.method=='GET'
๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ฌ๊ณ ๋ก์ง ๊ตฌ์ฑ
- ํด๋์คํ View
- ์์๊ณผ ๋ฏน์ค์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฝ๋ ์ฌ์ฌ์ฉ์ด ์ฉ์ด
- ๋ทฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ตฌ์ฑ ํ ์ ์์
- ์ ๋ค๋ฆญ View ์ญ์ ํด๋์คํ View
- urls.py์
.as_view()
๋ฉ์๋์ ํจ๊ป ์ฌ์ฉ
# ํจ์ํ View
def my_view(request):
if request.method == 'GET' :
# ๋ก์ง์์ฑ
return HttpResponse('result')
if request.method == 'POST' :
# ๋ก์ง์์ฑ
return HttpResponse('result')
# ํด๋์คํ View
class MyView(View):
def get(self, request):
# ๋ก์ง์์ฑ
return HttpResponse('result')
def post(self, request):
# ๋ก์ง์์ฑ
return HttpResponse('result')
def head(self, *args, **kwargs):
# ๋ก์ง๊ตฌํ
return HttpResponse('')
Tip! ์ ๋ค๋ฆญ View
Django์์ ์์ฃผ ์ฐ๋ View๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ์ ๊ณต
ํด๋์ค ํ์ผ๋ก ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์ ์์๋ฐ์ ์ฌ์ฉ ๊ฐ๋ฅView : ๊ฐ์ฅ ๊ธฐ๋ณธ ์ต์์ ์ ๋ค๋ฆญ View, ๋ชจ๋ ์ ๋ค๋ฆญ View์ ์ต์์
TemplateView : urls.py์ ๋ฐ๋ผ ํ ํ๋ฆฟ์ด ์ฃผ์ด์ง๋ฉด ๋ ๋๋ง
RedirectView : url์ด ์ฃผ์ด์ง๋ฉด ํด๋น url๋ก ์ด๋์์ผ์ค
ListView : ์กฐ๊ฑด์ ๋ง๋ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๋ณด์ฌ์ค
DetailView : ๊ฐ์ฒด ํ๋์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค
FormView : ํผ์ด ์ฃผ์ด์ง๋ฉด ํด๋น ํผ์ ๋ณด์ฌ์ค
CreateView : ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํผ์ ๋ณด์ฌ์ค
UpdateView : ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ์์ ํ๋ ํผ์ ๋ณด์ฌ์ค
DeleteView : ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ํผ์ ๋ณด์ฌ์ค
DateDetailView : ํน์ ๊ฐ์ฒด ํ๋์ ๋ํ ์์ธ ์ ๋ณด ๋ณด์ฌ์ค
ArchiveIndexView : ์กฐ๊ฑด์ ๋ง๋ ์ฌ๋ฌ ๊ฐ์ฒด๋ค์ ๋ํ ๋ ์ง ์ ๋ณด ๋ณด์ฌ์ค
YearArchiveView : ์ฐ๋์ ํด๋นํ๋ ๊ฐ์ฒด๋ค ๋ณด์ฌ์ค