Django 공부(CRUD)

eheo·2022년 7월 27일
0

멋쟁이사자처럼

목록 보기
1/1
post-thumbnail

iTerm2와 Visual Studio Code 연동

Command + Shift + P > shell command 검색 > 클릭해서 PATH추가.
iTerm2에에서 code . 를 입력해보면 visual studio code 창이 열리며 실행.

가상환경 생성

1. 가상환경 생성하기

python3 -m venv myvenv : 맥OS 기준
python -m venv myvenv : 윈도우OS 기준

2. 가상환경 실행시키기

source myvenv/bin/activate : 맥OS 기준
source myvenv/scripts/activate : 윈도우OS 기준

Django 설치

1. pip 버전 확인하기

pip --version

2. django 설치하기

pip install django

3. django 프로젝트 생성

django-admin startproject <프로젝트명>

참고) 가상환경 끄기

deactivate

APP 생성

App : Django 프로젝트를 이루는 작은 단위
-> 앱은 검색, 메일, 쇼핑과 같은 다양한 서비스를 따로따로 분휴하는 역할.
하나의 장고 프로젝트를 작게 쪼개서 개발 유지보수시 유리하게 해줌
python manage.py startapp <앱명>

APP 등록하기

프로젝트폴더 -> setting.py열기 -> INSTALLED_APPS안에 앱 등록
‘(우리가 만든 앱 이름).apps.(firstapp->apps.py의 첫번째 함수 이름)’,

MTV패턴

일반적인 개발 시 파트 분배 -> 프론트엔드(HTML, CSS), 백엔드(데이터처리)
Django 개발 시 파트 분배 -> 프론트엔드(Template), 백엔드(Model, View)

  • Template : 사용자가 보이는 영역 HTML, CSS, 템플릿 언어
  • Model : DataBase(DB)
  • View : 데이터를 처리하는 곳, 사용자로부터 요청을 받고, 받은 요청을 위해 모델에서 가져온 데이터를 가공하고, Template에게 넘겨주는 역할을 함.

RDBMS(관계형 데이터베이스)

데이터를 표처럼 활용

CSS수정했는데 반영이 안되는 경우

Ctrl + F5
캐시 및 메모리까지 새로 고침하기
맥의 경우 -> command + shift + r

초기세팅

#urls.py
from django.contrib import admin
from django.urls import path
from commapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.main, name="main"),
]
#settings.py
import os #->os 임포트

INSTALLED_APPS = [
	여러가지들
    'commapp.apps.CommappConfig', #-> (앱이름.apps.views.py의 함수명)추가
]
#-----------static루트 추가-------------#
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, '앱명', 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
#views.py
	... 생략...
def main(request):
    return render(request, 'main.html')

제일 중요한 보안키 분리(비밀파일패턴 ver.)

(1) settings.py에 있는 Secret Key를 복사 후 지워준다.
(2) secrets.json 파일 생성(manage.py와 같은 경로에)
(3) 생성된 secrets.json 파일에 다음의 코드 입력

{
  "SECRET_KEY": "복사한 Secret Key 입력"
}

(4) settings.py에 다음의 코드 입력(이때 Base DRI밑에 입력이 중요)

# settings.py

import os, json
from django.core.exceptions import ImproperlyConfigured


secret_file = os.path.join(BASE_DIR, 'secrets.json') # secrets.json 파일 위치를 명시

with open(secret_file) as f:
    secrets = json.loads(f.read())

def get_secret(setting, secrets=secrets):
    """비밀 변수를 가져오거나 명시적 예외를 반환한다."""
    try:
        return secrets[setting]
    except KeyError:
        error_msg = "Set the {} environment variable".format(setting)
        raise ImproperlyConfigured(error_msg)

SECRET_KEY = get_secret("SECRET_KEY")

(5) .gitignore에 secrets.json을 추가
(6) 만약 협업을 하고 있다면 secrets.json 파일은 따로 전달한다.

django 모바일 접속

  1. Django 프로젝트 내의 setting.py 파일에서 ALLOWED_HOSTS 수정
    -> ALLOWED_HOSTS = ['*']

  2. 명령창에서 명령어 실행
    python manage.py runserver 0.0.0.0:8080

  3. 맥 또는 윈도우의 시스템 환경설정에서 네트워크 확인(현재 사용하고 있는 아이피 주소 확인)

  4. 모바일 기기로 브라우저를 실행시켜 http://내부아이피주소:8080로 접속

참고한 사이트 : https://gaebyeokja.tistory.com/9

1개의 댓글

comment-user-thumbnail
2023년 3월 12일

덕분에 많은 도움 받습니다 ^^

답글 달기