정의
Django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크입니다.
어떤일을 할까?
웹서버에 요청이 오면 장고로 전달됩니다.
장고 urlresolver는 웹페이지 주소를 보고 무엇을 할지 확인합니다.
view에 어떤 할일을 할지 찾아서 실행시킵니다.
view는 할일을 다하고 답장을 생성하여 장고는 그 답장을 그 사용자의 웹 브라우저에 보내주는 역할을 합니다.
모델
장고에 모델을 저장하면 그 내용이 데이터베이스(DB)에 저장됩니다.
예를 들어 블로그 글 모델을 생각해볼게요
//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
이렇게 Post 모델을 만들어 줄 수 있습니다.
그 이후로는
python manage.py makemigrateions blog
python manage.py migrate blog
로 글 모델이 데이터베이스에 migration을 해줍니다.
URL 설정
전체 폴더의 urls.py에 들어가서
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
]
이렇게 코드를 바꿔주면, ''(아무것도 없음)이 url에 들어오면, blog.urls를 찾는다는 뜻입니다
from django.urls import path
from . import views
urlpatterns = [
path('', views.post_list, name='post_list'),
]
그리고 blog/urls.py에 이렇게 추가해주면, ''가 들어오면 views의 post_list를 사용한다는 뜻입니다.
참고 :
https://tutorial.djangogirls.org/ko/
'개발합시다. > BackEnd 공부' 카테고리의 다른 글
Nginx의 모든 것 (0) | 2021.12.07 |
---|---|
Django 정리 (0) | 2021.12.06 |
네트워크 관련 면접 질문 정리 ① (0) | 2021.10.06 |
데이터베이스 관련 면접 질문 정리 ② (0) | 2021.09.30 |
데이터베이스 관련 면접 질문 정리 ① (0) | 2021.09.28 |