728x90 반응형 Python38 [DRF] Django Rest framework시작하기 장고를 시작하듯이 가상환경부터 만들어주고 시작하면 된다. 1. python -m venv venv 2. . venv/bin/activate 3. pip install django==3.2.13(버전은 맘대로) 4. pip install djangorestframework DRF를 하나 더 깔아주는 것만 다르고 같다! django-admin.py startproject pjt . python manage.py startapp project 프로젝트와 앱을 만들어 준 다음 #settings.py INSTALLED_APPS = [ 'project', 'rest_framework', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contentty.. 2023. 1. 30. [Django] 상태 코드(Status Code) 상태 코드(Status Code)는 클라이언트 요청에 대한 처리가 성공했는지 실패했는지에 대해 알려주는 코드로 앞자리에 따라 크게 5가지 카테고리로 분류됩니다. 아래는 각 분류별 몇 가지 상태 코드입니다. 1XX (정보 전달) 100 (진행, Continue) 요청의 첫 부분을 받아서 다음 요청을 기다리고 있다는 것을 알려 줍니다. 이미 요청을 완료했다면 해당 응답을 무시할 수 있습니다. 101 (프로토콜 전환, Switching Protocol) 클라이언트가 서버에게 프로토콜 전환을 요청했고 서버에서 프로토콜을 변경한다는 것을 나타냅니다. 2XX (성공) 200 (성공, OK) 클라이언트의 요청이 성공적으로 처리되었다는 것을 의미하며 주로 요청한 페이지를 서버가 제공했다는 것을 알려줍니다. 201 (작.. 2023. 1. 30. [Django] Template Language 장고에는 템플릿 언어라는 것이 있는데 이것을 잘 활용하면 원하는 값을 출력하여 사용할 수 있다. 크게는 4개로 나눌 수 있다. 1. 템플릿 변수 {{변수명}} {{변수명.속성}} : 우리가 지정한 데이터로 변환 , view에서 넘겨 받은 값으로 변환 모델에서 지정한 속성을 지정할 수 있다. 2. 템플릿 태그 {% 태그 %} {% end태그 %} : 템플릿 작성에 로직을 사용/ 반복/조건/상속 end태그가 꼭 필요한 태그들이 있다. for,if,block 등 3. 템플릿 필터 {{변수명 | 필터}} : 템플릿 변수를 특정 형식으로 변환 4. 템플릿 주석 {# 주석 #} : 템플릿 언어의 주석처리를 담당 템플릿 변수 (Template Variable) {{ variable }} 템플릿 변수는 템플릿이 렌더될.. 2023. 1. 29. [Django] render( )함수 render( ) render( request, template_name, context=None, content_type=None, status=None, using=None ) render 함수는 인자로 주어진 템플릿을 사전형(dict) 인자인 context와 결합해서 렌더링을 거친 다음 HttpResponse 객체로 반환하는 함수. 쉽게 말하면 인자로 넘겨주는 템플릿과 context 데이터를 합쳐서 HttpResponse 객체로 돌려주는 함수. 필수 인자 이 중에서 필수인자는 request와 template_name 이다. request에는 데이터를 요청한 요청 객체를 넘겨준다. 앞에서 함수형 view의 인자로 들어온 request를 render에 그대로 사용했다 ... def view(reques.. 2023. 1. 29. [Django] URL Routing 장고에서 url을 입력하면 어떤 url을 입력하던지 간에 가장 먼저 보는 파일은 프로젝트 앱 디렉토리 안에 있는 urls.py이다. 그 이유는 settings.py를 보면 알 수 있다. 장고가 url을 보고 가장 먽 어떤 파일을 봐야 할지 설정하는 부분이다. urls.py에 들어가보면 요청받은 앱의 경로가 맞는지 확인한 후 맞다면 뒤에 있는 restaurant안에 있는 urls.py를 보라고 알려주는 것이다. 그 다음 restaurant안에 있는 urls.py를 보자면 나머지 경로에 있는 패턴에 매칭이 된다면 매칭된 경로의 views.py에 가서 index함수의 로직을 실행하는 것이다. runserver을 실행하여 개발서버를 열어보면 index함수가 잘 실행되는 것을 볼 수 있다. 2023. 1. 29. [Django] runserver 장고에서 코드를 작성하고 결과를 학원하면 꼭 하는 작업 중 하나가 runserver를 이용해서 서버를 실행하는 것이다. django-admin runserver python manage.py runserver 그렇게 서버를 실행하고 나면 웹 브라우저를 통해서 만든 장고프로젝트에 접속할 수 있다. 이 과정에서 웹 브라우저로 접속했을 때 우리가 만든 장고 프로젝트를 보여주는 역할을 하는 것을 서버라고 한다. 이렇게 runserver로 실행한 서버를 개발서버(Development Server)라고 한다. 그 이유는 보안과 관련된 사항이나 성능을 보장하지 않는 확인용 서버이기 때문이다. 그래서 실제 배포 시에는 개발서버에서는 없던 오류들이 발생할 수 있다. 숨어있는 IP와 Port django-admin run.. 2023. 1. 29. [Django] 장고의 철학 Reusable App 장고는 재사용성이 있는 App을 추구하고 있다. 세계적인 장고 컨퍼런스인 djangocon에선 4가지컨셉을 제시하였다. 1. 한가지 앱은 한가지 기능을 하고, 그 기능을 잘 수행해야한다. 2. 장고 개발자는 프로젝트를 많은 앱으로 구성하는 것을 두려워하면 안된다. 3. 각각의 앱을 유연하게 작성해야 한다. 4. 다른 사람에게 배포가 가능하도록 만들어야 한다. DjangoCon: Reusable App 영상 바로가기 2023. 1. 28. [Django] Django 앱(App) 구조 01. Project와 App의 차이 Django에서 웹 서비스 각각의 기능은 앱 단위로 구현. 서로 다른 기능을 하는 앱을 여러 개 모아서 하나의 프로젝트로 만드는 것. 실제로 하나의 프로젝트는 여러 개의 앱과 약간의 설정 파일들로 구성되어 있고 하나의 앱은 여러 개의 프로젝트에서 사용할 수 있다. 02. App 생성하기 Django에서 앱을 생성할 때는 manage.py를 이용. python manage.py startapp {생성할 App 이름} #예시 python manage.py startapp retaurant 03. Django App 구조 {app_name}/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py v.. 2023. 1. 28. [Django] 프로젝트(project) 구조 장고로 프로젝트를 시작하려면 환경을 만들어 줘야하는데, 장고는 프로젝트파일을 만드는 순간 모든 환경설정에 필요한 파일들을 생성해 준다. 1. 가상환경을 생성한다. ex)venv 등등 2. 장고를 install한다. pip install django=={버전입력} 3. django-admin startproject {프로젝트 이름} . (여기서 .은 현재폴더 안에 생성한다는 뜻) 프로젝트를 생성하고 나면 이렇게 폴더와 파일이 생긴 것을 알 수 있다.(본인은 restaurant app까지 만들어놓음) 이제 pratice라는 프로젝트 폴더안에 어떤 파일들이 생겼는지 알아보자. > __init__.py 디렉토리를 하나의 파이썬 패키지로 인식되게끔 하는 역할을 하는 파일. python 3.3버전 이상부터는 이 파.. 2023. 1. 28. 이전 1 2 3 4 5 다음 728x90 반응형