ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django - App 예제
    Search: Django Django 2020. 6. 11. 21:22

     

    생성 명령어

     

    C:\Prj1> py manage.py startapp App1

     

    생성된 결과물

    App1/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

     

    테스트용 출력

    views.py를 열어 아래와 같이 입력하면 간단한 출력 기능을 하게 된다.

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, world~")

    이것을 호출 할 수 있도록 url을 연결해줘야 한다. URLconf를 사용한다.

     

    URLconf 사용

     

    App1/urls.py파일을 만들어 아래 내용을 입력

    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]

    Prj1/urls.py파일을 열어 아래 내용을 입력

    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('App1/', include('App1.urls')),
        path('App2/', include('App1.urls')),
        path('admin/', admin.site.urls),
    ]

    이제 index 뷰가 URLconf에 연결되었고 웹페이지 접속하여 확인해 볼 수 있다.

    Django는 요청된 URL을 찾을 때까지 urlpatterns 의 첫 번째 패턴부터 시작하여, 일치하는 패턴을 찾을 때 까지 각 패턴과 리스트의 순서대로 비교해 나간다.

    include() 함수는 다른 URLconf들을 참조할 수 있도록 도와줍니다. Django가 함수 include()를 만나게 되면, URL의 그 시점까지 일치하는 부분을 잘라내고, 남은 문자열 부분을 후속 처리를 위해 include 된 URLconf로 전달합니다.
    include()에 숨은 아이디어 덕분에 URL을 쉽게 연결할 수 있습니다. App1 앱에 그 자체의 URLconf(App1/urls.py)가 존재하는 한, "/App1/", 또는 "/app2/", "/content/app3/"와 같은 경로, 또는 그 어떤 다른 root 경로에 연결하더라도, 앱은 여전히 잘 동작할 것이다.

     

    서버 실행하여 확인

    C:\Prj1>py manage.py runserver

    http://127.0.0.1:8000/App1/
    http://127.0.0.1:8000/App2/
    둘다 동일한 동작을 하도록 연결시켰다.

     

     

    'Django' 카테고리의 다른 글

    Django - 관리자 계정 만들기 (admin)  (0) 2020.08.18
    Django - Db Table 읽고 쓰기  (0) 2020.08.18
    Django - App 개요  (0) 2020.08.18
    Django LTS version  (0) 2020.08.18
    Django - Db(데이터베이스) Table 생성  (0) 2020.06.11
    Django - 프로젝트(Project) 생성  (0) 2020.06.11
    Django 설치  (0) 2020.06.11
    Django 개요  (0) 2020.06.11

    댓글