목록Backend REST API with Python & Django (10)
99.10.11
viewset과 view의 차이점: 별다른 커스터마이징된 동작이 없고 CRUD를 다 한다면 고민할 것 없이 viewsets을 쓰면 됩니다. CRUD 중 몇 개만 허용하거나 get, post 메소드에 간단한 커스터마이징 코드를 넣고 싶다면 @api_view 데코레이터나 generic.*을 쓰면 좋습니다. 그게 아니라 모든 동작을 다 커스터마이징하고 싶다면 APIView를 쓰면 됩니다. 헷갈린다면 generic.*이 결국 APIView를 상속받아 만들어진 클래스라는 걸 생각하면 쉽습니다. APIView가 포유류라고 가정하고 generic.*이 인간이라고 한다면 ‘검투사’ 캐릭터를 만들기 위해 포유류를 상속받는 것보다 인간을 상속 받는게 할 일이 휠씬 줄겠지요. 포유류를 상속 받는다면 인간의 속성을 하나 하나..
보호되어 있는 글입니다.
보호되어 있는 글입니다.

런서버를 했을 때 일단 http://127.0.0.1:8000/ 웹페이지 자체도 오류가 뜨고 git bash창 상에서도 라는 오류가 계!!!!!속 반복됨 검색해보니, Database connection error 모델을 수정한 적이 없어서 마이그레이션 생각은 아예 안 했는데 db라길래 혹시나 해서 해봤더니,, 성공,,~~ 해결방법(1) 그런데,,,,, 잠시후 똑같은 오류가 또 발생 이번에는 위에 썼던 방법도 안 먹힘 스택오버플로우를 샅샅이 뒤진 결과 해결방법(2) 일반적인 런서버 명령어 python manage.py runserver 0.0.0.0:8000 뒤에 추가로 --noreload 붙여주기!!! 해결

프로젝트폴더(root)에는 자동으로 생성되어있음 1. profiles_api 폴더에서 마우스 우클릭 → 새파일 → urls.py 생성 2. 전체 프로젝트(root)의 urls.py 상단 두번째줄 from django.urls import path 에다가 include 추가 ※ include : 다른 APP에 있는 URL들을 root project의 urls.py 파일에 include할 수 있게 해주는 함수 3. root의 urls.py 에서 urlpatterns = [ ] 안에 path('api/', include('profiles_api.urls')) 를 추가해준다!! 이게 무슨 뜻이냐!!! 💛💛💛 url 앞에 " api/ " 가 붙어있으면 💛💛💛 💛💛💛 " api/ " 의 오른쪽에 있는 내용은 💛💛💛..
보호되어 있는 글입니다.

장고가 데이터베이스를 관리하는 방법 -> migration 파일을 만들어서 여기다 관리한다 -> 그래서 Django에서 모델을 수정하거나 새로 만들었으면 반드시 새로운 migration을 만들어야 한다 1. vagrant 서버에 접속하기 git bash창에서 작업하려는 폴더 위치로 cd 한 뒤 cd ~/Courses/profiles-rest-api Vagrant up으로 VM(가상머신) running 하게 해준다 (VM must be running to open SSH connection. Run `vagrant up` to start the virtual machine.) vagrant up 그 다음, vagrant ssh 2. vagrant 디렉토리로 이동 cd /vagrant 3. 가상환경 켜기 p..
보호되어 있는 글입니다.
보호되어 있는 글입니다.

$ vagrant init ubuntu/bionic64 를 시도했을 때 C:/HashiCorp/Vagrant/embedded/gems/2.2.19/gems/childprocess-4.1.0/lib/childprocess/windows/process_builder.rb:44:in `encode!': "\\xEB" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to UTF-16LE (Encoding::UndefinedConversionError) from C:/HashiCorp/Vagrant/embedded/gems/2.2.19/gems/childprocess-4.1.0/lib/childprocess/windows/process_builder.rb:44:in `to_w..