장고를 공부하며 알게된 기본적인 명령어 정리

초기세팅

  • 장고 설치 python3 -m pip install django

  • 장고에서 제공하는 기본적인 명령 리스트 확인 django-admin

  • 장고프로젝트 생성 django-admin startproject {장고프로젝트명} .

  • manage.py를 통해 사용할 수 있는 명령 확인 python3 manage.py

  • 서버 실행 python3 manage.py runserver

기본 흐름설명 및 App 만들기

  • 기본적인 장고 흐름

image-20220809235442992

  • 프로젝트 생성된 상태에서 “myapp”이라는 app만들기 django-admin startapp myapp

image-20220809235751115

라우팅

라우팅(경로) : 사용자가 접속한 경로를 누가 처리해줄 것인가 지정하는 것

image-20220809235900422

urls.py 수정

image-20220810000029879

image-20220810000056253

데이터베이스

데이터베이스 생성

  • 데이터베이스를 생성하기 위해서 콘솔 창에서 아래 코드를 실행 python manage.py migrate (이 명령을 실행하기 위해서는 djangogirls 디렉터리 안에 있는 manage.py 가 필요)

    에러난 이유 :

    1. 이미 기존에 장고가 설치되어있는 상태에서 가상환경을 설치한 후
    2. 위의 명령어를 입력하였다. 이것이 문제.
    3. 순서는 가상환경을 설치 및 활성화 후 장고를 설치했어야 한다. pip install django~=2.0.0
    4. 그 후 python manage.py migrate

    여기까지하면 데이터베이스 생성 완료.

앱 & 모델 생성

  • python manage.py startapp blog(‘blog’ 앱 생성)

  • blog/models.py 파일 (모델 생성)

    from django.conf import settings
    from django.db import models
    from django.utils import timezone
      
      
    class Post(models.Model):
        author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
        title = models.CharField(max_length=200)
        text = models.TextField()
        created_date = models.DateTimeField(
                default=timezone.now)
        published_date = models.DateTimeField(
                blank=True, null=True)
      
        def publish(self):
            self.published_date = timezone.now()
            self.save()
      
        def __str__(self):
            return self.title
    

모델을 위한 테이블 생성

  1. 장고 모델에 몇가지 변화가 생겼다는 걸 알려줌 python manage.py makemigrations blog (이렇게되면, 마이그레이션 파일(migration file)이라는 것을 준비해놓고 대기상태가 됨)
  2. DB반영(마치 commit) python manage.py migrate blog image-20220810001401301

Leave a comment