TIL 21 | [Django] django의 코드관리

Yoonsik·2022년 5월 26일
0

Django

목록 보기
3/5

html을 화면에 나타내기

사용자가 브라우저에서 URL을 입력하면 urls.py의 리스트에 따라서 어느 한개에 맵핑이 되면, 이를 Templates에서 찾아서 html을 화면에 보여주게 만들어 보겠습니다.

[views.py]

from django.shortcuts import render
from rest_framework.views import APIView

class Sub(APIView):
    def get(self, request):
        print("겟으로 호출")
        return render(request, "Yoonstagram/main.html")

    def post(self, request):
        print("포스트로 호출")
        return render(request, "Yoonstagram/main.html")
[urls.py]

from django.contrib import admin
from django.urls import path
from .views import Sub

urlpatterns = [
    path('admin/', admin.site.urls), 
    path('main/', Sub.as_view())
]

브라우저에서 URL 'main'을 입력하면 Sub 클래스를 View로 사용하여(Sub.as_view()가 Suv 클래스를 View로 사용하겠다는 의미) 템플릿 안의 Yoonstagram/main.html 을 화면에 나타내게 합니다.


Django의 코드 관리

장고는 프로젝트 안에서 앱 단위로 코드를 관리합니다. 이유는 각자 다른 기능을 가진 소스들을 하나의 소스파일에서 관리하면 소스파일이 너무 커지기 때문입니다.

이런 문제를 해결하기 위해 장고는 앱 단위로 소스들을 분할해서 관리할 수 있는 기능을 제공합니다.

앱 추가해보기

터미널에서 python manage.py startapp 앱 이름 명령어를 입력하면 앱을 추가할 수 있습니다.

앱이 추가된 모습

이 상태는 usercontent 앱이 추가된 상태입니다. 이제 templates안에 user와 관련된 화면, content와 관련된 화면을 구분하기 위해서 앱 이름으로 폴더를 추가하고, 그 폴더안에 해당 html소스를 넣어서 각각 앱 별로 나타낼 화면을 만들어 보겠습니다.


profile
꾸준함의 힘

0개의 댓글