본문 바로가기

파이썬 프로그래밍/Django기초

[django] 장고 간단한 페이지 생성 실습 (기초주의)

1. app 만들기

먼저 windows의 powershell에서 이미지처럼 입력합니다

python코드를 사용하겠다

manage.py 경로안에 있는 해당 파일을 실행하겠다

startapp 앱을 만들거나 실행하겠다

elections 해당 앱을


manage.py라는 파이썬 코드를 실행하여 이미 있는 elections라는 앱을 만들겠다고 해석할 수 있습니다.


Djago의 app이란?

Django에서 사용하는 파이썬 패키지.

Django App패키지 안에는 모델(model), 뷰(view), 템플릿(template), URL매핑 등을 독자적으로 가지고 있다.

또한 Django의 프로젝트는 하나이상의 app으로 구성되어 있으며, 규모가 큰 프로젝트의 경우 여러개의 App들을 모듈화하여 구성하며 이유는 여러개로 나눠놓아서 개발및 유지 보수가 효율적이기 때문이다.

모듈화가 잘된 App은 여러 웹 프로젝트에서 쉽게 재사용이 가능하다.


정리

Django = model, view, template, URL Mapping을 가지고 있음

Django 의 프로젝트는 하나이상의 app으로 구성하며 규모가 클수록 여러개의 app으로 구성

때문에 개발및 유지 보수가 효율적이며, 모듈화가 잘된 App은 여러 웹프로젝트에 재사용이 가능 




입력을 하면 elections라는 폴더의 구성요소가 생깁니다.





mysite 폴더 안에 elections라는 app이 생성되었고 그 app안의 구성요소입니다.





2. 간단한 문구를 출력할  index 함수 만들기

views.py를 들어가 해당 함수를 추가해줍니다

views는 말 그대로 유저가 처음으로 보는 페이지입니다.

함수를 추가해주기 위해서 from, import 해주는것도 잊으면 안됩니다.

1
2
3
4
5
6
from django.shortcuts import render
from django.http import HttpResponse
 
# Create your views here.
def index(request):
    return HttpResponse("Hello")
cs

index라는 함수를 request를 매개변수로 받습니다.

그래서 HttpResponse를 통해 Hello를 응답받는다는 뜻입니다.



현재 view에 index함수를 추가했을때, view index함수의 위치입니다.

index함수는 mysite project 안에 elections App안에 view안에 있는 index라는 함수로 실행이 될것입니다.


일단은 view안에 index함수가 실행되는것은 설정을 했지만, elections app안에 view가 실행되는 것은 아직 설정하지 않았기 때문에 이제 설정해보겠습니다.





3. elections app에 view가 실행되게 해보자(url 설정)

기본 설명


mysite->urls.py를 들어갑니다.

저기서 urlpatterns를 보실 수 있는데,

urlpatterns는 서버에 요청이 들어오면 누가 url을 처리할지 담당할 담당자역할을 합니다.

우리는 이제 이 url을 어떻게 처리할지 설정해 보겠습니다.




구조를 살펴보자면

1. 주소

2. 누가 처리할 것인지

즉 url(주소, 누가처리할것인지)은 주소와 그 주소를 어떤 페이지가 설정할 것인지 설정하게 되겠습니다.



실습

elections app이 어떤경우에 실행되는지 설정

mysite project안에 mysite folder안에 있는 urls.py를 들어가서 코드를 수정합니다.


1
2
3
4
5
6
7
from django.conf.urls import url,include
from django.contrib import admin
 
urlpatterns = [
    url(r'^', include('elections.urls')),
    url(r'^admin/', admin.site.urls),
]
cs

5번째줄: 그냥 localhost:8000으로 연결될경우에 'elections.urls'에서 처리하라

include는 app에 대해서 접속을 처리할때 반드시 적어줘야 합니다.


이제 mysite에서 elections가 어떨때 실행되는지 설정했습니다.

어떨때? 그냥 localhost:8000일때


5번째줄에 elections.urls가 보이시나요?

아직 파일을 설정해주지 않았기 떄문에 이제 이 파일을 만들어 보겠습니다.


elections.urls 만들기

elections안에 urls.py라는 파일을 새로 만들어주고 코드를 입력합니다.


1
2
3
4
5
6
from django.conf.urls import url
from . import views
 
urlpatterns = [
    url(r'^$', views.index),
]
cs

^$: 빈경로, views.index가 실행되어야한다

from . import views: views라는 파일을 불러온다

.은 현재폴더

즉 현재 폴더(elections)에 있는 views.py폴더를 불러와서 index함수를 실행시켜라



4. 확인하기

확인하기 위해 powershell에서 서버를 열어줍니다



localhost:8000에 들어갔을때 Hello로 바뀐것을 확인하실 수 있습니다.




본게시글은 https://tryhelloworld.co.kr/ 에 있는 동영상 강의를 바탕으로 정리하였습니다.