[Django] To-do list 앱 만들어보기(2)

Yerin·2020년 1월 29일
0

프로젝트와 앱 연동

지난 시간까지 django와 mysql연동을 해보고 이제 본격적으로 프로젝트와 앱을 연동해보기로 한다.

먼저 메인디렉토리 urls.py에 들어가서,

from django.contrib   import admin
from django.urls      import path
from django.conf.urls import include, url

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('todo_main.urls')),
    path('index/', include('todo_main.urls')),
    path('home/', include('todo_main.urls')),

    #board app
    path('board/', include('todo_board.urls')),
]

위와 같이 수정한다. 각 주소로 들어가면 todo_main 앱의 urls에 연동시키겠다는 의미이다. todo_main.urls에서 받기 위해 main앱에 urls.py를 만들어준다. (board app도 마찬가지)

todo_main urls.py에

from django.conf.urls        import url, include
from .                       import views

from django.conf             import settings
from django.conf.urls.static import static

app_name = 'todo_main'

urlpatterns = [
    url(r'^$', views.Todo_main.as_view(), name = 'todo_main'),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

위와 같이 설정해준다. todo_main으로 localhost:8000패턴이 들어오면 (r'^$')Todo_main.as_view 를 실행하라는 의미.
Todo_main 은 views.py에서 설정한다.

from django.shortcuts import render, redirect

from django.views import View, generic

class Todo_main(generic.TemplateView):
    def get(self, request, *args, **kwargs):
        template_name = 'todo_main/index.html'
        return render(request, template_name)

views에 가서 generic view를 통해 페이지를 만든다.
장고에서는 function based view와 generic view 두가지 형태가 있는데 function based는 세세하게 코딩할때 사용하고 generic view는 보다 간결하고 단순한 코드일때 사용하다.

Todo_main에 TemplateView를 보여주는데 get방식으로 받을때는 todo_main/index.html로 이동하라는 의미이다. index.html을 만들고 아무 문자를 입력한 다음 로컬호스트로 들어가면 브라우저에 화면이 띄어지는 것을 볼 수 있다.

profile
졸꾸 !!!

0개의 댓글