반응형

Framework/Django 10

[Dj] 장고 검색창 기능 구현하기

장고에서 검색창을 만들고, 검색 기능을 구현하는 방법에 대해서 알아보겠습니다. 작동 원리는 간단합니다. 크게 두 가지 원리만 이해하고 있으면 됩니다. 첫째, 검색창에 검색어를 입력하고 검색 버튼을 눌렀을 때, 검색 결과를 보여줄 html 페이지와 해당 html 페이지의 url이 필요하고, 둘째, 검색창에 입력한 내용이 실제 웹사이트의 데이터베이스에 있는지 확인한 뒤, 그 결과를 html 페이지에 반환해주면 됩니다. 글로 읽어선 한 번에 이해가 되지 않을 수 있으니, 단계별로 차근차근 풀어가 보도록 하겠습니다. 검색창 기능을 구현하기에 앞서, 검색창 샘플을 만들어보도록 하겠습니다. 검색창 구현에 앞서 준비물이 필요합니다. 사전에 사용자가 입력한 검색어를 찾아볼 수 있는 데이터베이스 모델이 세팅돼 있어야 합..

Framework/Django 2021.08.20

[Dj] 장고 관리자(Admin) 페이지 꾸미는 방법

장고에서 기본적으로 제공하는 기능들(e.g. filters, list, displays and more)을 활용해서 관리자(admin) 페이지를 꾸미는 방법에 대해 알아보겠습니다. 이는 관리자 페이지에 모델이 표시되는 방법이라든지, 모델의 배열 방향이라든지, 여러 개의 모델들을 한 화면에서 설정할 수 있는 방법이라든지 등의 기능적인 측면에 초점을 맞춘 꾸미기입니다. 제3의 패키지를 사용해 관리자 페이지를 화려하게 꾸미는 방법은 다른 포스트에서 다시 다뤄보도록 하겠습니다. 통상적으로 장고 프로젝트에 앱을 설치하면, 설치된 앱마나 models.py에 class 형태의 모델들이 존재하고, 이 모델들을 장고 관리자 페이지에서 확인하고 관리하기 위해 admin.py에 각각의 모델들을 등록해줍니다. 이해를 돕기 위..

Framework/Django 2021.08.19

[Dj] 장고 urls.py : 기본세팅값 snippet

1. Django urls.py 기본세팅값 (※ 하이라이트 부분이 추가된 부분입니다.) (여기서 urls.py는 settings.py와 동일 폴더에 있는 urls.py를 의미합니다.) from django.contrib import admin from django.urls import path, include from django.conf.urls.static import static from config import settings from django.views.generic.base import RedirectView, TemplateView from django.contrib.staticfiles.storage import staticfiles_storage from django.contrib.s..

Framework/Django 2021.07.26

[Dj] 장고 settings.py : 기본세팅값 snippet

1. Django settings.py 기본세팅값 (※ 하이라이트 부분이 추가/수정된 부분입니다.) import os, json from django.core.exceptions import ImproperlyConfigured from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.2/howto/deployment/checkl..

Framework/Django 2021.07.26

[Dj] 장고 배포 ④ : uwsgi와 nginx 설치 및 연결

1. 가상환경 설치 1-1. virtualenv 설치 ▶ 가상환경 프로그램 virtualenv를 설치해줍니다. ▶ 중간에 '계속 진행하시겠습니까?'라는 물음에 Y입력 후 엔터. 1-2. venv라는 이름의 virtualenv 생성 ▶ venv라는 이름의 가상환경을 만들어줍니다. (기호에 따라 이름은 바꾸셔도 상관없습니다.) 1-3. venv 가상환경 확인 ▶ 프로젝트 폴더 안에 "venv"라는 폴더가 보인다면 제대로 설치가 된 것입니다. 2. 가상환경 실행 ▶ virtualenv 가상환경을 실행하는 명령어입니다. source venv/bin/activate ▶ 위와 같이 (venv)가 앞에 생겼다면, 가상환경이 제대로 실행된 것입니다. 3. 필요 프로그램 일괄 설치 ▶ 본인의 장고 프로젝트에 필요한 프로..

Framework/Django 2021.07.25

[Dj] 장고 배포 ③ : Github에 있는 프로젝트 Pull 받는 방법

1. SSH키 생성하기 ▶ 본인의 인스턴스와 본인의 Github을 연결시켜줄 ssh 키를 만들어봅시다. 명령어 ssh-keygen -t rsa를 입력하면 두 가지 질문을 받게 됩니다. ▶ 첫 번째 질문: Enter file in which to save the key "키를 어디에 저장하시겠습니까?" 이 질문에는 그냥 엔터를 누르면 위에 제시된 (/home/ubuntu/.ssh/id_rsa)에 저장된다. 그냥 엔터를 누르자. ▶ 두 번째 질문: Enter passphrase "비밀번호 입력하세요" 이 질문에는 본인이 사용할 비밀번호를 입력하면 된다. 그리고 입력한 비밀번호를 한 번 더 입력해서 재확인시켜주면 된다. ▶ 위와 같이 그림 모양이 보인다면, 성공적으로 ssh키가 만들어진 것이다. 1-1. SS..

Framework/Django 2021.07.24

[Dj] 장고 배포 ② : AWS EC2 인스턴스 세팅하기 (Mac용)

1. pem키로 EC2 인스턴스 접속 ▶ ~/django_workspace/pem/django.pem 은 AWS EC2 인스턴스를 생성할 때, 다운받은 pem키의 저장 경로와 본인이 지정한 pem키 이름을 입력하시면 됩니다. ▶ ubuntu@"이 자리에는 본인 EC2의 퍼블릭 IP주소를 삽입하시면 됩니다." (탄력적 IP 주소를 할당 받으신 경우, 탄력적 IP 주소를 입력하시면 됩니다.) ▶ 위 예시의 경우) - pem키 이름: django.pem - pem키 경로: 작성자가 작성자 PC에 pem키를 저장해 놓은 경로. django_workspace 폴더 안에, pem 폴더 안에 있는 django.pem 키 1-1. 접속이 안 될 경우 ▶ pem키의 권한을 높여주는 명령어다. ▶ chmod 400 ~/d..

Framework/Django 2021.07.24

[DJ] Django 템플릿 - 천 단위로 콤마 찍는 방법

"쉽게" ≪ 왕초보자용 ≫ "쉽게" 숫자 작업을 하다보면, 천의 자리 마다 콤마를 찍고 싶은 유혹을 느끼곤 합니다. 방법, 정말 간단합니다. 30초면 끝나요. 1. settings.py에 앱 추가하기 INSTALLED_APPS = [ ... 'django.contrib.humanize', ... ] ▶ Installed_apps 란에 django.contrib.humanize 앱을 추가합니다. 이때, 작은 따옴표(혹은 큰 따옴표) 그리고 마지막 콤마를 빼놓지 않도록 주의하세요. 2. html에 추가한 앱 로드하기 {% load humanize %} ▶ 천의 자리마다 콤마를 찍고 싶은 해당 html 템플릿으로 이동. 해당 html 파일의 가장 윗부분에 방금 추가한 앱(humanize)을 로드시켜줍니다. 3..

Framework/Django 2021.07.19

[DJ] 장고 배포 ① : 사전작업 requirements.txt 만들기

"쉽게" ≪ 왕초보자용 ≫ "쉽게" 장고 애플리케이션을 웹에 배포하기 전에, 몇 가지 해야할 작업들이 있습니다. 역시나 엄청 쉽습니다. 금방 끝나요. 1. requirements.txt 란? ▶ 우리는 지금, 본인 컴퓨터에 있는 장고 프로젝트를 (AWS EC2와 같은)서버 컴퓨터로 옮기는 작업을 하려고 합니다. 쉽게 말해서, "이사 간다"고 생각하시면 편합니다. 이삿짐은 싸서 "github"이라는 업체에 맡길 건데, 안타깝게도 github은 배송만 해준다네요? 새 집에 이삿짐만 덩그러니 놓고 가버리면... 그걸 누가, 언제 정리하나? 가뜩이나 처음 새 집 들어가는 거라 긴장돼 죽겠는데! 누가 대신 가구배치 싹 해주고, 가전제품들도 바로 사용할 수 있도록 세팅까지 깔끔하게 해준다면.... 정말 편하지 않을..

Framework/Django 2021.07.08