Do It Django 블로그 만들기 1
1. Django 개발 환경 설정
01. Python, pip 설치 확인
- python과 pip가 설치가 되어 있어야 한다
python --version
pip --version
python --version
pip --version
02. 가상환경 구성
- OS 환경이라면 source 가상환경\Scripts\activate
- Scripts가 아니면 bin 폴더
- list는 현재 설치된 패키지 확인 명령어
pip3 install virtualenv
virtualenv venv
.\venv\Scripts\activate
(venv) pip3 install django
(venv) pip list
03. 프로젝트 생성
- 프로젝트 생성을 하면서 마지막에 '.'을 붙여주면 새폴더가 아닌 현재 폴더에 프로젝트가 생성된다
- 생성 후 migrate을 해주어야한다, 왜냐면 프로젝트 생성 시 기본적인 테이블이 구성이 되기 때문이다
(venv) django-admin startproject do_it_django_prj .
(venv) python manage.py migrate
04. 관리자 계정 생성
python manage.py createsuperuser
05. 서버 실행
python manage.py runserver
2. 앱 개발하기
- Django Project는 기본적으로 1개 이상의 앱으로 구성되어 있다
- app
- '특정한 기능을 수행하는 단위 모듈'
01. blog와 single_pages 앱 생성
python manage.py startapp blog
python manage.py startapp single_pages
- '특정한 기능을 수행하는 단위 모듈'
python manage.py startapp blog
python manage.py startapp single_pages
02. 모델 만들기
- Django의 장점 중 하나로 모델을 이용해 장고 웹 프레임워크 안에서 데이터베이스를 관리할 수 있다
-1. 블로그 글을 위한 모델 만들기
-
1. Post 모델 만들기
- blog/models.py
from django.db import models # Create your models here. class Post(models.Model): title = models.CharField(max_length=30) content = models.TextField() created_at = models.DateTimeField()
-
2. 데이터베이스에 Post 모델 반영
- 바로 작용은 되지 않으며 앱을 만들면 필히 Root 디렉토리에 있는 settings.py 내부의 INSTALLED_APPS에 추가해주어야 한다
python manage.py makemigrations
python manage.py migrate
- 모델을 만들었지만 바로 관리자 페이지에 적용되는 것은 아니다!
- 관리자 페이지 적용은 app의 admin.py에서 설정
- 바로 작용은 되지 않으며 앱을 만들면 필히 Root 디렉토리에 있는 settings.py 내부의 INSTALLED_APPS에 추가해주어야 한다
-2. 관리자 페이지에서 첫 포스트 작성하기
-
1. admin.py에 Post 모델 추가
- blog/admin.py
- .models 모델 파일에 있는 Post 클래스 import 후 admin 사이트에 입력
from django.contrib import admin from .models import Post # Register your models here. admin.site.register(Post)
-
2. 새로운 포스트 생성
-3. 포스트 개선하기
-
1. str() 함수로 포트스 제목과 번호 보여주기(models.py)
- post 하나 더 생성
- 제목과 내용 파악이 힘들기 때문에 제목과 내용을 파악할 수 있도록 models.py에 str() 함수 추가하기!
from django.db import models # Create your models here. class Post(models.Model): title = models.CharField(max_length=30) content = models.TextField() created_at = models.DateTimeField() def __str__(self) : return f'[]{self.pk}]{self.title}'
- post 하나 더 생성
-
2. 특정 지역 기준으로 작성 시각 설정
- 만약에 현재 시각과 포스트 작성시의 시각과 맞지 않다면 settings.py의 시간 설정을 의심 해봐야 합니다!
- root 디렉토리 / settings.py
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True
LANGUAGE_CODE = 'en-us' TIME_ZONE = 'Asia/Seoul' USE_I18N = True USE_L10N = True USE_TZ = False
- 만약에 현재 시각과 포스트 작성시의 시각과 맞지 않다면 settings.py의 시간 설정을 의심 해봐야 합니다!
-
3. 자동으로 작성 시각과 수정 시각 저장
-
DateTimeField
- auto_now : 저장이 될 때마다 저장 시각으로 저장
- auto_now_add : 생설 될 때 딱 한번 시각 저장
from django.db import models # Create your models here. class Post(models.Model): title = models.CharField(max_length=30) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) def __str__(self): return f'[{self.pk}]{self.title}'
python manage.py makemigrations python manage.py migrate python manage.py runserver
-
Author And Source
이 문제에 관하여(Do It Django 블로그 만들기 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ansalstmd/Do-It-Django-블로그-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)