본문 바로가기

Computer Science/Django_pinterest

210816 django_pinterest_01 (1~7강) git first commit

쟝고로 핀터레스트 만들기

20210816

장고로 핀터레스트 만들기 

3장 
pip install django 프로그램 설치
cd .. 상위 폴더로 이동
django-admin startproject pragmatic 프로젝트 시작
setting - python interpreter 새로운 가상환경 
장고를 재 인스톨 한다 . 

manage.py에서 이제 새로운 세상을 연다


PS C:\Users\A\PycharmProjects\pythonProject\pragmatic> python manage.py runserver
-> Starting development server at http://127.0.0.1:8000/
위의 클릭하면 파이썬 서버가 시작되었다는걸 알 수 있다.

 


4강 django framework development pattern
MVC 
Model
View
Controller 개발 패턴이라고 한다. (장고에선 MVT라고 한다 ) 
Template 

MODEL 장고와 데이터베이스간의 이동 객체 
객체를 디비에 다 저장해야된다. 그 과정에서 편리하게 해주는게 모델이라고 보면된다.
DB언어를 사용하지 않더라도 데이터를 수정하거나 삭제할 수 있는 패턴 
DB에는 행과 속성들이 들어있다. 행렬과 아이템 속성들이 매칭되어 있는형식
게시글을 예를들어보면 아티클안에 제목이나 내용 이미지가 있을수 있다. 이런걸 디비 내부에선 행하나 속성들(열)하나들로매칭
이 중간과정을 해주는게 모델이라고 생각하면 된다.
모델을 설정하기만 하면 나머지 디비에 저장해주거나 수정 삭제는 쟝고가 다해준다. 디비에 대해신경쓸필요 별로없음

View
유저가 서버에 웹사이트에 뭔가를 요청한다.
서버에서 무엇을 할까? 응답을 해야되는데 .. 
응답이 유효한지 
결과가 맞다면 응답을 준다
응답과 반응을 VIEW단에서 한다.

Template
USER->USER INTERFACE

유저가 한 게시글의 내용을 보고싶다. 요청을 보낸다 서버에 
서버에서 아티클이라는 게시글 내용을 전달한다.
이 중간에 HTML하나만 있다고 가정하면, 게시글을 구현해 줄 작업이 필요하다.
HTML은 정적인 언어이므로
동적인 뭔가가 필요하다. 그거를 만들어주는게 Template이라고 생각하면 된다.

템플릿은 유저인터페이스
뷰 인증,계산,확인 
모델 디비저장,쉽게 연결하기위한 것

 

 


5강 첫 앱시작, 그리고 기본적인 VIEW 만들기 
pragmatic->setting.py
명시를 해줘야한다.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accountapp',      #<<<<<<<<<<<<<<<<<<새로만든것

def를 할 때 import 할때 alt엔터누르면 알아서 설정 
롸우터를 만들기 위해 ruls.py로 간다

유저가 어카운트에서 요청을 하고 
헬로월드라는 구문을 추가할때 , 뷰라는 탭에서 헬로월드를 가져오고, 요청을 되돌려준다.

python manage.py runserver
서버를 시작해주는 명령어 

 

 


6강 GIT
Version control
버전별 차이점 
1.1 account update
1.2 profile update
1.3 article update    복구 시 유용

Branch  (배포버전을말한다.)
Main branch
중간에 추가적인 기능을 추가하고싶다.
기존버전에 영향을 주고싶지 않으면서 기능을 추가하고싶다.
branch adding 추가적인 브랜치를 새로만들면서 실험할 수 있다.
branch merge 기능 

Team work
여러명에서 같이 코딩할 때 강력한 도구 
커밋 - 조그만한 버전

깃헙 등등 
모두가 볼 수 있도록 이슈를 하고, 개선해나가고 
프라이빗하게 개발자들끼리 코드공유할 수 있도록 한다.

<주로사용하는 커맨드>

add
commit
push
pull
branch
checkout


7강 Gitignore설정, 환경변수 분리, 첫 커밋 

깃의 활성화와 기초준비 단계 
gitignore 깃허브에서 가져와서 저장 
개발환경에서 나오는 파일들에 대해 추적을 안함 
추가적으로 venv는 가상환경이므로 추적필요없음 venv/ 로 정리 
SECRET_KEY는 깃헙에 공유하면 안된다. 따로 관리해야한다  - 라이브러리가 있어서 관리할 수 있다.


#.env
DEBUG=on
SECRET_KEY=blahblah #setting에서 가져옴 
DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret

#setting.py

SECRET_KEY = env('SECRET_KEY') #로 코딩 

from pathlib import Path

import OS, environ
env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

# reading .env file
environ.Env.read_env(
    env_file= OS.path.join(BASE_DIR, '.env') 


변수가 할당됫다.

#gitignore안에서 .env로하여 불러오면 안되는 처리를 한다 추척저리 안됨

#GIT 활성화 - VCS - ENABLE


<<<추적이 시작되면 앞으로 바뀌는 것들에 대해 추적을 할 수 있다.>>>> -bash 사용 

C:\Users\A\PycharmProjects\pythonProject\pragmatic



Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .gitignore
        accountapp/
        manage.py
        pragmatic/

nothing added to commit but untracked files present (use "git add" to track)

A@DESKTOP-BLV1ET3 MINGW64 /c/users/A/PycharmProjects/pythonProject/pragmatic (master)
$ git add .

A@DESKTOP-BLV1ET3 MINGW64 /c/users/A/PycharmProjects/pythonProject/pragmatic (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   .gitignore
        new file:   accountapp/__init__.py
        new file:   accountapp/__pycache__/__init__.cpython-38.pyc
        new file:   accountapp/__pycache__/admin.cpython-38.pyc
        new file:   accountapp/__pycache__/apps.cpython-38.pyc
        new file:   accountapp/__pycache__/models.cpython-38.pyc
        new file:   accountapp/__pycache__/urls.cpython-38.pyc
        new file:   accountapp/__pycache__/views.cpython-38.pyc
        new file:   accountapp/admin.py
        new file:   accountapp/apps.py
        new file:   accountapp/migrations/__init__.py
        new file:   accountapp/migrations/__pycache__/__init__.cpython-38.pyc
        new file:   accountapp/models.py
        new file:   accountapp/tests.py
        new file:   accountapp/urls.py
        new file:   accountapp/views.py
        new file:   manage.py
        new file:   pragmatic/__init__.py
        new file:   pragmatic/__pycache__/__init__.cpython-38.pyc
        new file:   pragmatic/__pycache__/settings.cpython-38.pyc
        new file:   pragmatic/__pycache__/urls.cpython-38.pyc
        new file:   pragmatic/__pycache__/wsgi.cpython-38.pyc
        new file:   pragmatic/asgi.py
        new file:   pragmatic/settings.py
        new file:   pragmatic/urls.py
        new file:   pragmatic/wsgi.py


A@DESKTOP-BLV1ET3 MINGW64 /c/users/A/PycharmProjects/pythonProject/pragmatic (master)

나의 git 
name =jinwoo
email = dorson2@naver.com

 

이미 적용이 다 된 첫 커밋 ! 

이 이후에 변경점은 없으므로 나오지않는다. 개신기

 

캐시 변경