본문 바로가기

반응형

DEVELOPMENT/django

(11)
DEVELOPMENT/django [Python] 데코레이터(Decorator) python 으로 작성된 다른 코드들을 보다보면 아래와 같이 어느 함수 위에 @ 가 있는 걸 볼 수 있다. 이 @ 는 무엇을 나타내고 어떤 역할을 하지는 알아보자. @decorator def function1(): print("decorator") decorator 란? 제목에서 알 수 있듯이 함수 위에 @로 붙혀져 있는 것이 바로decorator이다. 사실 데코레이터가 없다고 해서 구현을 못하는 일이 생기는 건 아니지만 코드가 복잡해진다. 즉 데코레이터를 사용하면 사용자가 편리해진다. decorator 는 사실 하나의 함수이며, 다른 함수를 감싸고 있는 형태의 함수이다. def decorator(func): def deco_func(): print("decorator") func() return dec..
DEVELOPMENT/django [django] JWT 사용하기 적용하기 1. 설치하기 pip install djangorestframework-jwt 2. 셋팅하기 settings.py 파일에 drf-jwt의 설정을 추가해준다. //settings.py ... REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication', ), } ... urls.py 토큰을 발행할 주소를 설정해..
DEVELOPMENT/django [django] restful-api 사용하기 DRF란 백엔드(Django)와 프론트를 분리하기 위해서 사용한다.Django내에서 템플릿 작업까지 모두 마친다고 하면, 사실 DRF까지 필요 없겠지만, 프론트와 백엔드 개발자가 나뉘어서 함께 협업해야 하는 경우 등에 사용할 수 있다. DRF를 사용하여 특정 uri로 get/post/put/delete/ 등의 요청을 하면, 데이터를 받아올 수 있게되고 이 데이터를 프론트에서 구독해서 개발을 진행한다. django만 사용하면 {{% '---' %}} 식으로 django filter를 이용하여 직접 템플릿에 입력하는데 이러는경우, 개발자간의 혼란이 유발될 수 있다. https://www.django-rest-framework.org/ Home - Django REST framework www.django-r..
DEVELOPMENT/django [django] AWS S3와 연동하기 기본적으로 AWS S3 bucket을 만들어 두었다고 가정하고 진행한다. AWS S3 Simple Storage Service로, 미디어, 정적 파일을 공유할 수 있는 서비스이다. 적용하기 1. django 설정하기 django에서 S3를 연동시키기 위해서는 두가지 라이브러리를 설치해야한다. pip install boto3 # boto3 : S3를 사용하기 위한 모듈이다. pip install django-storages # django-storages : 다양한 저장소를 사용하기 위한 모듈이다. 즉, django-storages를 통해 boto3를 사용한다. 이렇게 라이브러리를 설치 했으면 settings.py를 설정해주어야 한다. settings.py # 작업환경에 따라 다를 수 있으니 주의 # 추가..
DEVELOPMENT/django [django] seed 편하게만드는 방법, django_seed command 만들기 management 폴더를 만들어서, management 파일 안에 __init__.py 를 만들어서, 장고 파이썬 폴더라는 것을 알려준다. 그다음에 commands 폴더를 만들어서 그 안에 명령어 파일을 만들어 준다. 만들 첫 커맨드는, seed를 주는 것, 즉 코드로 모델의 objects를 만드는 것이다. 모듈과 상호작용을 해보자. 장고 시드는 가짜들을 만들고 faker라는 것을 사용한다. faker라는 것은 모듈을 보고 갖고 있는 것을 보고 칼럼의 타입을 보면서 데이터를 넣어준다. 수동으로 할 수 있지만 가짜 데이터들을 만들어준다. pipenv install django_seed config.setting에 넣어주고, 잘 되나 문제 없는지 확인해주고 장고 시드를 임포트 해서 얼..
DEVELOPMENT/django [django] 유저 다중모델 '서버에서 유저모델이 두개가 있으면 좋겠다.' 라고 생각해서 'AbstractBaseUser로 두개의 유저모델을 만들어 따로 관리하자' 하고 다 작성하고 런 시키는순간 에러가 발생했다. 현재의 서버에는 AUTHUSERMODEL로 모델을 지정해 주고 있는데 지정된 모델과 사용하고 있는 유저모델이 달라서 에러가 나는것이었다. 스택오버플로우에서 검색해보니, django는 다중유저 모델을 지원하지않는다고 한다. 방법은 아래 두가지. 1. 기능별로 유저를 나누고 싶다면 권한별로 나누어라 2. 유저에 추가 필드를 받고싶다면 FK로 엮어라
DEVELOPMENT/django [django] MySQL 연동하기 적용하기 1. MySQL 설치하기 아래 링크를 참조하여 차례대로 설치해준다. dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS FreeBSD Source Code Select OS Version: All Wind dev.mysql.com Workbench가 필요하..
DEVELOPMENT/django [django] tailwindCSS 적용법 1. 설치하기 node.js 와 gulp 12.13.0 설치해야 한다! * gulp : 자바스크립트에서 반복적이고 자주 사용되는 일을 자동화해주는 유용한 툴. 생상서 향상에 큰 도움. node.js 를 설치해 준 다음에, (홈페이지에 가서!) npm init 치고 엔터를 계속! 쫘르르륵 package.json 이 새로 만들어지고. { "name": "UniFolio", "version": "1.0.0", "description": "어쩌구저쩌구!", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://git..
DEVELOPMENT/django [django] plotly 사용하기
DEVELOPMENT/django [django] Redirect, Render, Reverse의 차이점 Redirect redirect(to, permanent=False, *args, **kwargs) redirect 는 다음과 같은 파라미터를 가진다. to 에는 어느 URL 로 이동할지를 정하게 된다. 이 때 상대 URL, 절대 URL 모두 가능하며 urls.py 에 name 을 정의하고 사용한다. 단지 URL로 이동하는 것이기 때문에 render 처럼 context 값을 넘기지는 못한다. Render render(request, template_name, context=None, content_type=None, status=None, using=None) render 는 다음과 같은 파라미터들을 가진다. 이 중에서 request 와 template_name 은 필수적으로 필요하다. request 는..

반응형