Web 32

장고 ORM Cheat sheet

모델의 모든 field명 반환과 간단한 쿼리문 # 파이썬 가상환경이 설치된 프로젝트 폴더로 이동하여 실행해야 함 . .venv/bin/activate # 가상 환경 모드로 진입후 장고쉘 실행 python manage.py shell_plus # 모델클래스의 모든 필드명 가져오기 MyModel = 모델클래스 field_names = [f.name for f in MyModel._meta.fields] print(field_names) # 테이블의 모든 데이터 가져오기 qs = MyModel.objects.all() print(qs) # 테이블 데이터 중 조건에 맞는 데이터 1개 가져오기 obj = MyModel.objects.get(id='123') print(obj) # 테이블 데이터 중 조건에 맞는 데..

Web/Django 2023.11.30

EC2 방화벽(보안그룹) 설정

EC2 방화벽 설정 개요 EC2도 서버이므로 방화벽(인바운드 아웃바운드)설정을 해야 보안을 지킬수 있다. 그래서 해당 설정을 보안그룹을 이용하여 할 수 있다. EC2는 생성될 때, 기존에 생성된 보안그룹을 지정하지 않으면 인바운드는 모두 막고, 아웃바운드는 모두 풀어주는 기본 방화벽을 생성해준다. 그리고 특이한 점은 EC2와 EC2간의 통신을 할때는 보안그룹을 인바운드 설정이 가능하다는 것이다. 보안그룹 방화벽 설정을 미리 해놓은 파일이라고 생각하면 된다. 하나의 보안그룹을 만들면 그 안에 인바운드와 아웃바운드 설정을 할 수 있다. 그리고 EC2에 보안그룹을 추가하면 해당 보안그룹의 인바운드와 아웃바운드 설정이 적용된다. 하나의 보안 그룹을 만들면, 그것을 여러개의 EC2에 적용할수 있어서 유지보수에 편..

Web/AWS 2023.08.23

장고 시작하기

Anaconda 가상환경에 설치 pip install Django==3.2 프로젝트 생성 django-admin startproject 서버 구동 python manage.py runserver 아래와 같은 화면이 뜨고, 접속 안내 URL로 접속하면 장고 첫 화면이 나온다. 디버깅 1. Run -> Edit Configurations 클릭 2. + 버튼 -> Templates 아래 Python 클릭 후 - Script path에 현재 작업 디렉토리경로 + manage.py - Parameters에 runserver 입력 3. 환경명을 runserver로 설정하고, 개발시 파이썬 환경을 runserver로 설정 4. 코드에 브레이크포인트 찍은 후 디버그 버튼 누르면 디버깅 됨.

Web/Django 2023.07.11

장고(Django) 기본사항

장고는 App 단위로 관리 한다. App이란 이름이 "모바일 App" 같지만, 장고에서는 그냥 관리의 단위이다. App 단위로 백엔드를 분리하여 관리하면, 유지보수에 편할거 같긴하다. 시작할때 기본 App은 만들어야 한다. ​ 장고는 MTV(Model - Template - View) 구조를 사용한다. 구조적인 프로젝트의 기본이 MVC(Model - View - Controller) 구조인데 거의 흡사하다. MTV에서 M은 MVC의 M과 동일하다. MTV에서 Template는 MVC의 View와 거의 동일하다. MTV에서 View는 MVC의 View와 완전히 다르고, Controller와 동일하다(이름을 왜 이렇게 햇갈리게 지었는지 모르겠네요). ​ 서버 요청 기능을 넣으려면 urls.py에 URL 매핑..

Web/Django 2023.07.10

Vue 향후 정리할것들

ref : 객체에 대한 반응성(reactive)을 가지게 됩니다. isRef : 주어진 값이 ref 객체인지 확인합니다. unref : "val = isRef(val) ? val.value : val"를 수행하는 편의 함수 watchEffect : 반응적으로 종속성을 추적하는 동안에 함수를 즉시 실행하고 종속성이 변경 될 때마다 다시 실행합니다. html 속성중 ref 속성에 관하여 vue component에서 html 요소에 직접 접근하고자 할 경우(자주 있는 경우는 아니지만 필요할때 사용함) ex. methods: { focusInput() { this.$refs.input.focus() # 여거서 Html 요소 직접 사용 } } ES6 구조분해할당 구조 분해 할당이 일어나면 반응성이 사라지므로 주의

Web/Vue 2022.05.29

Vue 개발 환경 설정

개발툴 VS Code 추천 플러그인 - vue(jcbuisson) : Vue문법 확인해주는 기능 - Auto Close Tag(Jun Han) : HTML 태그 자동으로 닫아주는 기능 - Auto Rename Tag : HTML 태그 변경시 연관된 태그의 이름을 자동으로 변경해주는 기능 Chrome 추천 플러그인 - vue.js devtools : vue 구조에 맞게 디버깅 가능 개발 방식 SFC(Single File Component) 구조로 개발(확장자 .vue) 하나의 파일에 HTML, CSS, JavaScript를 묶어서 관리개발하는 방식 해당 내용에 대한 설명 https://vuejs.org/guide/scaling-up/sfc.html#introduction Composition API 방식으..

Web/Vue 2022.05.29

Lightsail의 Window 버전에서 Django 배포

고정 IP 설정 외부 고정 IP가 있어야 윈도우 원격도 동일한 IP로 접속할 수 있고, 웹서버 주소도 고정되어 서비스가 원활하다. 아마존의 Lightsail에서 Networkding 탭에서 public IP를 생성하여 attach 하자. Django settings.py의 allow_hosts 설정 모든 ip에서 접속할수 있도록 설정해 주자 ALLOWED_HOSTS = ['*'] Django 시작 접속하는 ip와 port를 모든 ip로 하고 80 포트로 서비스 하도록 설정함 주의 윈도우가 아닌 리눅스에서는 0:80 이렇게 하면 되는데, 앞에 붙는 숫자가 윈도우와 리눅스가 다름에 주의 python manage.py runserver 0.0.0.0:80

Web/AWS 2022.01.01