Django crud1

On a regular basis·2021년 4월 26일
1
post-thumbnail

백엔드 관점에서 웹 개발이란?

  • Client가 서버를 통해 요청을 보냈을 때, 데이터베이스를 기반하여 Django프로그램과 MySQL을 활용, 그 요청에 응답하는 것!
  • 그 중심에 CRUD가 있다. CRUD(Create, Read, Update, Delete)를 통해 Django와 MySQL을 연결, 응답을 신속하게 할 수 있또록 도와준다.

Django 초기 세팅하기

(내가 보려고 만드는 TIL! 화이팅!)

1. Terminal 열고 가상환경 만들기
conda env list # 현재 설치된 가상환경을 볼 수 있음.
conda create -n (가상환경이름) python=3.9

2. 가상환경 실행, 필요한 것들 깔아주기
conda activate (가상환경)
pip install django
pip install mysqlclient
pip install django-cors-headers
pip freeze # 내 터미널에 지금 뭐 깔려있는지 볼 수 있는 명령어
pip freeze > requirements.txt # 버전이 옮겨가도 설치된게 계속 설치될 수 있게끔 하기 위한 명령어
pip3 install -r requirements.txt
pip list

3. 프로젝트 만들기
django-admin starproject (프로젝트명)
touch .gitignore
vim .gitignore
[링크텍스트](https://www.toptal.com/developers/gitignore)

# 깃에 올리고 싶지 않은 것들이 있을 때 요기에 저장해두면 깃에서 보이지않음!
# 저장할 것들 : python, pycharm, vscode, vim, macOS, Linux, zsh
# my_settings.py 와 *.csv 두개 추가해주기!

4. DATABASE 생성
mysql.server start
mysql -u root -p
mysql) create database "name" character set utf8mb4 collate utf8mb4_general_ci;
# 나올때는 contrl+Z
# command+d를 누르고 terminal창을 새로 만들어서 진행하면됨. 헷갈리니까 종이에 database명 적어놓기!

5. Settings.py 설정하기
ALLOWED_HOSTS = ['*'] #모두 들어올 수 있다고 허용해주기!
주석처리 샵(#)으로해주기
![](https://velog.velcdn.com/images%2Fmajaeh43%2Fpost%2F80b14a7c-fdd9-4f40-975e-54ca0a08f23f%2Fimage.png)
# 사용하지 않는 것들은 주석처리 꼭 해줘야함.

from my_settings import DATABASES, SECRET
# 꼭 넣어주기 (Python은 명령어가 위에서부터 실행되므로 SECRET이나 DATABASES 위에 이걸 넣어줘야함.)

SECRET_KEY = SECRET
DATABASES = DATABASES

--> settings.py 밑에다가 추가해주기
#REMOVE_APPEND_SLASH_WARNING
APPEND_SLASH = False
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
)
CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
    # 만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)

- settings.py-INSTALLED_APPS에 'corsheaders' 추가
- MIDDLEWARE에 'corsheaders.middleware.CorsMiddleware' 추가

urls.py들어가서 from -- import admin삭제 #너무 중요! 이거 삭제 안하면 뒤에서 에러걸림.
urlpatterns = [ 안에 다 삭제 ]

6. my_settings.py 설정
touch my_settings.py
vim my_settings.py #manage.py있는 곳에 설치.
# 요 아래처럼 넣어주자! 여기에 있는 정보들이 위에서 저장했던 .gitignore에 있으므로 깃에서는 보여지지 않게 되는 것!
----
DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'wecode2020',
        'USER': 'root',
        'PASSWORD': 'high0426@@',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

SECRET = 'django-insecure-=8db%og*e9s2=7f%5j+$^v9(qqsl^#oufj=k-zu5%2e^&myng%'
-----

7. 앱생성하기
python manage.py startapp 앱이름 #현재 디렉토리에서 실행하기
settings.py들어가서 앱추가해주기!
![](https://velog.velcdn.com/images%2Fmajaeh43%2Fpost%2Fadeb66c2-efd7-4b98-a7d9-de7b059bb048%2Fimage.png)
# 콤마하나 따옴표 하나 다 중요함. 없으면 에러나니 주의할 것.

7-1. brew install httpie

git init (manage.py에 있는 곳에서 시작 -> 초기세팅때만!)

<->
내가 pull 받을 때, (git pull origin main)
mysql database만 만들고,
원하는 폴더에가서 git clone하고,
my_settings.py는 따로 만들어주어야함(이건 .gitignore에 들어가있으니까!)
conda create --name <가상환경이름> --file requirements.txt (이것도 해주면 뭐가 깔려있는지 다 볼 수 있음!)

  • the port is already in use 에러^^
    sudo lsof -t -i tcp:8000 | xargs kill -9 로 해결!
profile
개발 기록

0개의 댓글