반응형
블로그 프로젝트 기술 명세
기능 | 상세 기능 | 기능 설명 | 요구사항 |
Post | 글 등록 | 1. 등록 후 리스트 페이지로 이동 2. 등록 후 Data Base에 저장 |
1. views 함수 2. model 등록 3. forms.py 이용 |
글 리스트(main) | 1. DB의 모든 글 불러오기 2. View Detail 버튼을 통해 상세 페이지로 이동 3. 제목, 날짜만 보여주기 |
1. for문 2. detail html 생성, 버튼 링크 연결 |
|
글 수정 | 1. detail html 에서 edit 버튼으로 edit 페이지로 이동 2. 글 수정 기능 |
||
글 상세 | 각 id url로 객체 받아오기 | 모델 구성-title, pub_date, author, content | |
Photo | 사진 등록 | 1. 등록 후 리스트 페이지로 이동 2. 등록 후 DB저장 |
|
사진 리스트(main) | 1. DB의 모든 사진 불러오기 2. 상세 페이지와 연결 3. 제목, 날짜만 보여주기 |
||
사진 수정 | 1. 사진 상세 페이지에서 edit 버튼으로 edit 페이지로 이동 2. 사진, 글 수정 기능 |
||
사진 상세 | 각 id url로 객체 받아오기 | 모델 구성-title, pub_date, description | |
Comment | 댓글 | 1. 본 웹사이트에서의 회원가입, 로그인 없이 진행 2. 댓글 개수 글, 사진 상세 페이지에 띄우기 |
1. API 기능 활용 |
처음 구상할 당시에는 하나의 글쓰기 페이지에서 카테고리를 선택하고 이후 카테고리별로 글을 모아볼 수 있는 기능을 떠올렸으나 쿼리셋 필터 기능 등 쿼리셋에 대한 이해가 필요하여 먼저 각 카테고리별로 글 목록, 글 등록을 따로 구현하게 됨.
Django 기본환경 세팅
1. 프로젝트를 담을 폴더 (원하는 위치에)생성 후 VSCode에서 생성한 폴더 열기
2. vscode 에서 Terminal 열기
Window의 경우, Terminal이 "bash"인지 확인, "cmd"로 되어 있다면,
"기본 셸 선택 - Git bash 선택 - Terminal 창 닫고 다시 열기" 를 수행하여 bash 로 설정해준다.
3. 터미널에서 가상환경 만들기
python -m venv myvenv
- myvenv = 가상환경 이름
4. 가상환경 실행
# Window
source myvenv/Scripts/activate
# MacOS
source myvenv/bin/activate
5. 가상환경에 장고 설치하기
pip install django
Django Project & App 생성
6. django 프로젝트 생성하기
django-admin startproject blogproject
- blogproject = 프로젝트 이름
7. django 프로젝트 폴더로 진입하기
cd blogproject
8. django 서버 구동 명령어
python manage.py runserver
서버를 끌 때는 터미널 창을 클릭하고 Ctrl + C 를 입력한다.
9. App 만들기
python manage.py startapp blog
- blog = app 이름
10. settings.py 에서 app 생성을 알리기
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig',
]
blogproject 폴더 안의 blogproject 폴더의 settings.py에서
INSTALLED_APPS 부분에 "앱이름.apps.대문자로앱이름Config" 형식으로 앱을 등록해준다.
반응형
'Project > [장고&파이썬] 블로그 프로젝트' 카테고리의 다른 글
2. 템플릿 상속_반복되는 html을 base.html에 담기 (0) | 2021.08.02 |
---|---|
1. Django 부트스트랩 템플릿 vscode html 적용하기 | static에 js, css 넣기 (0) | 2021.08.01 |