Backend/Django
-
[django] ubuntu 20.0.4에 mysqlclient 모듈 설치하기Backend/Django 2022. 7. 24. 21:50
Python 가상환경 만들기 https://miraekwak.tistory.com/97 [Python] virtual env 설정 Virtual env venv를 사용하여 프로젝트 별 전용 가상공간을 생성하여 프로젝트 별로 독립된 파이썬 실행환경을 가질 수 있다. 여러 프로젝트의 python package를 섞이지 않게 관리할 수 있는 장점! 서로 miraekwak.tistory.com 문제 오라클 클라이언트 우분투 20.0.4 인스턴스에 장고 프로젝트를 실행하려고 requirement.txt파일에 있는 모듈을 설치하다가 mysqlclient를 설치하면서 에러가 발생했다. 다양한 에러를 겪어서 해결방안 정리! 단순히 가상환경을 만든 후 모듈을 설치하려고 하면 다음과 같은 에러를 보게 된다. error: ..
-
[Django] AbstractUser를 사용한 UserModel 확장Backend/Django 2022. 7. 6. 11:51
AbstractUser django에서 제공하는 사용자 모델로 기본적인 사용자 정보에 대해 이미 구현되어 있어 편리하게 관련 기능을 구현할 수 있다. 하지만 추가적으로 필요한 사용자 데이터가 있을 수 있기 때문에 AbstractUser를 커스텀하여 사용할 수 있다. 기본적으로 제공하는 필드 id : PK username first_name last_name email password is_staff is_activate is_superuser last_login data_joined User Model Custom 1. AbstractUser에 존재하는 필드 이외에 필요한 필드에 대해서 추가적으로 정의해준다. - 추가적으로 존재하는 필드가 없긴했지만 새로 정의해주었다. from django.db impo..
-
[Django] Rest FrameworkBackend/Django 2022. 5. 8. 23:01
RESTful Reprensentational State Transfer http의 url과 http method(GET, POST, PUT, DELETE)를 사용해서 API 가독성을 높인 구조화된 시스템 아키텍쳐이다. 하나의 url로 4가지의 HTTP method를 전송할 수 있다. REST Framework RESTful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리 # 설치 pip install djangorestframework # 설정에 추가 INSTALLED_APPS = [ ... 'rest_framework', ] Serializer 추상적인 object를 텍스트파일로 바꿔주거나 반대의 상황도 가능하게 하여 데이터를 직렬화, 역직렬화한다. 서버와 웹 클라이언트 사이에 데이..
-
[Django] MVT 패턴Backend/Django 2022. 5. 8. 22:41
MVC 패턴이란? 디자인 패턴 중 하나로 Model, View, Controller의 약자이다. Model : 어플리케이션 정보(데이터) View : 사용자 인터페이스 Controller : 데이터와 비즈니스 로직사이 상호 동작 관리 이 패턴을 사용하면 사용자가 보는 페이지, 데이터 처리, 이 둘 사이의 제어 3가지 역할에 대해서 각각 역할에 집중할 수 있다. 유지보수성, 확장성, 유연성이 증가하고 중복 코딩을 줄인다. MVT 패턴이란? 장고 프레임워크에서는 MVC에서 View를 Template, Controller를 View로 MVT 패턴이라고 한다. Model : 데이터베이스에 저장되는 데이터 Template : 사용자에게 보여지는 UI View : 프로그램 로직이 동작해 데이터를 가져오고 처리하여 ..
-
[Django] django 프로젝트 시작하기Backend/Django 2022. 5. 8. 17:10
Django 설치 pip install django Django 프로젝트 생성 및 실행 # 프로젝트 생성 django-admin startproject [project name] # 프로젝트 내부 이동 cd [project name] # 8080포트에서 프로젝트 실행(default 8000) python manage.py runserver 8080 Django 앱 생성 python manage.py startapp [app name] Django Sqlite3 DB 사용 # projectname/setting.py에 app 설치 알리기 INSTALLED_APPS = [ ... 'appname.apps.AppnameConfig', ] # app의 migration파일 만들기 python manage.py ..