Django
[Django] 장고 정적파일 관리하기 - Static, Media
정적파일 이란? 정적파일은 HTML을 제외하고 웹 페이지를 렌더링 할 때 필요한 추가적인 파일을 의미한다. 서버의 데이터들이 어느정도 가공된 후 보여지는 동적파일과 달리, 서버에 미리 저장되어 있어야하며, 서버에 저장된 그대로를 서비스한다. 장고에서 정적파일은 아래의 두가지 파일로 분류될 수 있다. Static 파일 : 이미지, Javascript, CSS처럼 개발자가 서버를 개발할 때 미리 넣어 준비해 놓은 파일로, 서비스 중에 추가되거나 수정되지 않고 고정되어 있음 Media 파일 : 사용자가 업로드 할 수 있는 파일로, 파일 자체는 고정되어 있지만 언제 어떤 파일이 제공될 지는 예측할 수 없음 Static 파일 관리 1. app 폴더 아래 static 폴더 생성 후 이미지/Javascript/CSS..
[Django] 장고 CRUD 구현 - 게시판 기능
CRUD 란? Create : DB에 데이터를 생성함 Read : DB에서 데이터를 읽어옴 Update : DB의 특정 데이터를 수정함 Delete : DB의 특정 데이터를 삭제함 Create - 데이터 생성 - GET : 데이터를 얻기 위한 요청 - 데이터가 URL에 나타남 # ex) 검색 기능 search def search(request): keyword = request.GET['search_value'] POST : 데이터를 생성하기 위한 요청 데이터가 URL에 나타나지 않음 csrf 공격 방지 필요 # views.py def create(request): new_blog = Blog() # 데이터 저장을 위한 객체 생성 new_blog.title = request.POST['title'] ne..
[Django] 장고 models 및 DB 설계 - Migration, Admin
Migration이란? Django에서 Migration이란, 쉽게 말해 python으로 작동하는 웹 프레임워크 Django에서 python으로 짜여진 code를 DB가 알아들을 수 있게 설명해주는 작업이다. model의 변경된 내용을 DB 스키마에 적용시켜 준다. 1. Models 정의하기 어떤 종류의 데이터를 처리하고 싶은지 class로 정의한다. 블로그 데이터로 예를 들면 다음과 같다. from django.db import models # Create your models here. class Blog(models.Model): # title 변수는 최대 길이 200인 짧은 문자열 형식으로 정의 title = models.CharField(max_length=200) # writer 변수는 100..
[Django] 장고 실습/개발 환경 준비하기 - 프로젝트 및 앱 생성
1. 가상환경 생성 - 가상환경은 프로젝트를 여러 개 진행하는 경우를 대비하여 설정 $ python -m venv 가상환경명 (window) $ python3 -m venv 가상환경명 (mac) 2. 가상환경 실행(활성화) $ source 가상환경명/Scripts/activate (window) $ source 가상환경명/bin/activate (mac) 3. Django 패키지 설치 $ pip install django 4. 프로젝트 파일 생성 $ django-admin startproject 프로젝트명 5. App 생성 - 앱은 Django 프로젝트를 이루는 작은 단위 - 먼저 프로젝트 폴더로 이동 후 앱 생성 $ cd 프로젝트명 $ python manage.py startapp 앱이름 6. sett..