본문 바로가기

728x90
반응형

전체 글

(261)
Django not null CharField objects.create # not null 임에도 object가 생성되는 경우 # unpack # ** Django에서는 아래와 같이 꼭 입력을 받아야하는 CharField에 대해 null=True 조건을 주지 않고 생성합니다. (not null 이 default) models.py class CharTest(models.Model): a = models.CharField(max_length=10) b = models.CharField(max_length=10) 그런데 null=True를 주지 않은 not null 상태인데 값을 안받고 DB에 데이터가 생기는 경우가 있습니다. 어떤 경우인지 살펴보도록 하겠습니다. 아래와 같이 POST 요청으로 a를 받아서 object를 생성해보겠습니다. test.html {% csrf_token %} send 아래와 같이 하고 123을 입력해서 POST 요청을 해보겠습니다..
Django Template filter tag 만들기 # custom template filter tag 1. 원하는 곳에 폴더/파일 생성 ex) 프로젝트 최상단에 templatetags/replaceto.py 생성 2. settings.py 의 TEMPLATES에 등록 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', '..
Django app 위치 변경 # + 생성 Django로 프로젝트를 진행하다 보면, static, template 디렉토리들과 django로 만든 app들을 분리해서 정리할 필요성을 느낄때가 있습니다. django-admin startapp 명령어를 통해 생성된 app들만 따로 모아서 분류하는 방법을 알아보겠습니다. django_apps 디렉토리를 만들어서 django-admin startapp 명령어를 통해 만들어진 users app을 django_apps에 이동시키는 예로 설명하겠습니다. 1) settings.py - INSTALLED_APPS 설정 INSTALLED_APPS = [ 'django_apps.users', ] 'users' -> 'django_apps.users'로 변경 2) django_apps.users의 apps.py 변경..
git cherry-pick github로 협업을 하다보면 이 브랜치 저 브랜치, 이사람 저사람 코드를 받아서 하다보면 최종적으로 합칠때 커밋의 순서가 섞이는 경우가 있습니다 이때 특정 커밋들을 원하는 순서대로 바꿔서 쌓은 후 최종적으로 병합을 해야할 때가 있습니다. 그럴때 유용하게 사용할 수 있는 cherry-pick을 살펴보겠습니다. 위와 같이 test1 브랜치에 test01, 02, 03의 순서로 커밋이 있습니다. test2 브랜치에서 위의 브랜치를 순서를 02 -> test01 -> 03의 순서로 가져오겠습니다. 명령어는 아래와 같습니다. git cherry-pick COMMIT_HASH test2 브랜치로 이동후에 02 commit의 commit hash 값의 축약값이 3b859ae 로 되어있습니다. git cherry-p..
Django ORM Query: ForeignKey로 연결된 필드 filter Django는 query문을 Django만의 문법으로 편하게 쓸수 있는 ORM Query를 제공 다른 테이블에 두고 연결해서 쓰는 ForeignKey나 ManyToMany field ForeignKey와 ManyToMany의 몇가지 사용 예제를 정리 ForeignKey 등을 models.py에서 설정할 때, 호출할 때 이름으로 related_name 으로 별도 설정을 할 수 있습니다. 하지 않으면 호출할 때 default로 선언한 ForeignKey에 대해서 _set의 형태로 호출해서 씁니다. 예를 들어 Class Book(models.Model): book = models.CharField() author = models.ForeignKey("Author", on_delete=models.CASCADE..
EC2: PostgreSQL remote connect PostgreSQL을 외부에서 접근할 수 있도록 설정 1. postgresql.conf 설정 변경 cd /etc/postgresql/VERSION/main/ nano postgresql.conf listen_addresses = '*' 으로 변경 2. pg_hba.conf 설정 변경 cd /etc/postgresql/VERSION/main/ nano pg_hba.conf host all all It.is.your.ip/32 md5 또는 host all all 0.0.0.0/0 md5 # 내 공인IP를 입력하거나 전체로 개방 # 다른 환경에서도 개발 진행하려면 전체 개방 또는 해당 ip 추가 등록 필요 # error example: no pg_hba.conf entry for host "xxx.xxx.xx..
EC2: git clone 실습환경: AWS EC2 ubuntu 22.04 git 설치는 공식 사이트 참고: https://git-scm.com/download/linux Git Download for Linux and Unix It is easiest to install Git on Linux using the preferred package manager of your Linux distribution. If you prefer to build from source, you can find tarballs on kernel.org. The latest version is 2.39.1. Debian/Ubuntu For the l git-scm.com ssh로 git clone -> rsa key 등록: 아래 링크 참조 https..
AWS EC2 Ubuntu GUI AWS EC2는 보통 배포용으로 많이 사용하고, 배포용으로는 비용적인 측면때문에 CLI로 하는게 정석이지만 그래도 경우에 따라 GUI를 사용해야 할 수도 있습니다. 오늘은 EC2 Ubuntu를 GUI를 활용해서 실행해보겠습니다. 실습환경 로컬 PC: ubuntu22.04 EC2: ubuntu22.04 필요한 프로그램: Remmina Remote Desktop Client 1. EC2 1) 필요한 패키지 설치 sudo apt update sudo apt install ubuntu-desktop sudo apt install tightvncserver sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal 2) V..

728x90
반응형