프로젝트를 기능 별로 구분할 앱을 생성하기(user, tweet, blog...)
앱을 실행하기 위해서 Pycharm Terminal에서 다음의 명령어를 작성한다
django-admin startapp user
django-admin startapp tweet
앱을 생성해주면 프로젝트 앱에 접근하여 기본 세팅을 수정해줘야 비로소 연결이 된 것이다!
프로젝트 폴더에서 settings.py 를 수정한다
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'user',
'tweet',
]
Python Flask에서는 API를 작성할 때 app.py 파일 하나에 서버 실행부터 API 기능까지 모두 들어있다!
Django에서는 API를 작성할 때, URL/API기능 으로 나누어 작성하고 프로젝트와 연결해줘야 한다!
기능을 보여줄 앱 내부의 views.py 안에 함수를 작성한다.
from django.http import HttpResponse
def sign_up_view(request):
return HttpResponse("connect test")
작성한 기능을 실행시켜줄 함수이름과 url주소를 urls.py 안에 작성한다
from django.urls import path
from . imoprt views
urlpattern = [
path('sign-up/', views.sign_up_view, name='sign-up'),
]
앱에서 작성한 views와 urls는 모두 프로젝트에 연결되어 있는 상태는 아니다!
따라서 앱에 접근할 수 있도록 프로젝트의 urls를 수정해준다!
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('user.urls')),
path('', include('tweet.urls')),
]
프론트엔드에 연결하기 위해서는 urls에 적어둔 주소를 프론트엔드에 작성해주면 된다
본 예제는 뼈대 부분이라서
<a href="/sign-up/">API작동!</a>