본문 바로가기

Develop/Python

[DJango #2]DJango로 어플리케이션 실행하기

목적: 구축한 웹서버에 어플리케이션(하위 페이지 개념)을 새로 생성하고 URL 세팅하기

 

https://missga.tistory.com/4

 

[Django #1]DJango로 웹서버 구축하기

준비 사항(사용한 버전 기준) - Python 3.7 - Pycharm Community 2020.2 1. [Vertualenv] 적용한 파이썬 프로젝트 생성 2. 터미널에서 "pip install django" 입력하여 장고 설치 3. 설치 완료 후 "django-admin s..

missga.tistory.com

를 통해 생성한 프로젝트에서 

 

1. 터미널에서 "python manage.py startapp 생성할App이름" 입력

ex) (venv) (base) jhka@gajaehuiui-MacBookPro flamingo % python manage.py startapp firstapp

firstapp 폴더가 생성됨

 

2. 본래 있던 프로젝트의 settings.py -> INSTALLED_APPS 에 해당 App 이름을 넣어줌

 

3. 생성한 App 폴더의 views.py에 뷰 내용을 입력

* flamingo/firstapp/views.py는 firstapp에 대한 뷰를 설정하도록 만들어짐

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.

def print(request):
    return HttpResponse("This is firstapp")

여기까지가 어플리케이션 생성

 

4. 처음 생성했던 폴더의 urls.py에 firstapp의 path를 넣어줌

* flamingo/flamingo/urls.py는 이 웹서버에 묶여있는 path들을 관리하도록 만들어짐

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

urlpatterns = [
    # django에선 admin path를 기본적으로 제공해줌
    path('admin/', admin.site.urls),
    # firstapp의 urls.py(생성예정)의 path들을 모두 포함할 것이다.
    path('firstapp/', include('firstapp.urls'))
]

 

5. firstapp/urls.py 파일을 생성하여 아래와 같이 입력

from django.urls import path

from firstapp.views import print_page

app_name="firstapp"
# 들어오고자 하는 경로: "127.0.0.1:8000/account/hello_world" <=> accountapp:firstpage_name

urlpatterns = [
    path("first_page/", print_page, name="")
]

* url을 레고블럭이라고 치면, 위의 4과정과 5과정을 통해 두 블럭을 이어준 것.

첫번째 블럭은 flamingo/urls.py에서 설정해준 "firstapp/"이고,

두번째 블럭은 firstapp/urls.py에서 설정해준 "first_page/"이다.

* print_page를 실행한 두번째 블럭의 view를 보기 위해 두 블럭을 이어야 함

 

6. url를 연결시켜 주었으니 확인해보자.

터미널에서 "python manage.py runserver" 입력 후 링크 접속

처음엔 설정해준 페이지 정보가 없어 404가 뜸

 

7. 주소창에 "http://127.0.0.1:8000/firstapp/first_page" 입력

first_page로 접속된 모습

'Develop > Python' 카테고리의 다른 글

[DJango #3]html 불러오기  (0) 2021.09.23
[Django #1]DJango로 웹서버 구축하기  (1) 2021.09.19
주피터 노트북 사용법  (0) 2021.09.10