TigerCow.Door


안녕하세요. 문범우입니다.

이번 포스팅에서는 django에서 첫화면을 만들어보도록 하겠습니다.

먼저 우리가 만들어볼 전체적인 그림은 MVC패턴을 이용하여 간단한 블로그를 만들어 보는 것 입니다.

글을 작성하고 이것이 데이터베이스에 저장되고, 글을 삭제하거나 그에 대한 댓글을 다는 등의 기능을 구현해보도록 할 것 입니다.

먼저 이번 포스팅에서는 위에서 말씀드린 것과 같이 간단하게 첫화면을 만들어보도록 하겠습니다.


1. App 만들기


먼저 우리는 지난 포스팅을 통해서 start_django라는 프로젝트를 만들었습니다.

장고에서는 프로젝트 내부에 여러개의 app이 존재하면서 여러개의 기능을 구현할 수 있습니다.


먼저 우리는 blog라는 app을 만들어 보도록 하겠습니다.


터미널(윈도우의 경우 cmd창)을 열어서 지난 포스트에서 만든 프로젝트까지 이동합니다.

그리고 아래의 명령어를 입력합니다.


python manage.py startapp blog



그럼 위와 같이 start_django라는 우리의 프로젝트 폴더안에 blog라는 폴더가 새로 생긴 것을 확인할 수 있습니다.

현재 명령어 창이 위치한 start_django 폴더는 프로젝트의 기본 폴더라고 생각하시면 되고, 이 내부에 blog라는 app이 존재하며, 또 존재하는 start_django 폴더는 프로젝트 전체에 대한 설정 파일들이 담겨 있다고 생각하시면 됩니다.



2. 첫번째 화면 만들기


그럼 첫번째화면을 만들기 위해서 먼저 url지정을 진행해보도록 하겠습니다.

에디터를 통해 start_django > start_django > urls.py 파일을 열어봅니다.



위와 같이 매우 긴 주석처리와 약간의 코드가 존재합니다.

django 1.x 버전과 2.0 버전의 차이점 중의 하나가 여기서 나타나는데, 1.x 버전에서는 url 지정에서 url 함수를 사용하며 정규식을 사용하는데 2.0 이후부터는 path함수를 통해 정규식이 필요 없어지게 되었습니다.


우리가 추가하고자 하는 url은 맨처음 들어올 메인화면에 대한 것이므로 다음과 같이 코드를 수정합니다. (주석처리된 곳은 삭제하여도 무방합니다.)


1
2
3
4
5
6
7
from django.contrib import admin
from django.urls import path, include
 
urlpatterns = [
    path('', include('blog.urls')),
    path('admin/', admin.site.urls),
]
cs


2번째 줄을 보시면 include라는 함수를 추가로 import 하였습니다.

그리고 5번줄에서 path함수를 활용하여 첫 화면, 아무것도 입력되지 않은 url에서는 blog의 urls를 참고하도록 하였습니다.


이제 blog라는 폴더안에 urls.py 이라는 파일을 새로 만들어서 아래와 같이 코드를 작성합니다.


1
2
3
4
5
6
from django.urls import path
from . import views
 
urlpatterns = [
    path('', views.index),
]
cs


해당 urls.py 파일은 위에서 작성한 파일과 다른 파일입니다.

blog라는 폴더 내부에 새롭게 만든 파일입니다.

먼저 해당 blog에서는 존재하지 않은 admin관련 import를 삭제하였습니다.

admin과 관련되어서는 추후 model을 다루게 될때 살펴보도록 하겠습니다.

그리고 화면을 보여주도록 할 views 파일을 import 하였고, url패턴에서 아무것도 입력되지 않은 주소에 대해서 views의 index를 참고하도록 하였습니다.


그럼 마지막으로 blog 폴더에 있는 views.py 파일을 열어 아래와 같이 코드를 작성합니다.


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("Main Screen!!!")
cs


2번째 줄에, HttpResponse 라는 함수를 추가로 import하였습니다.

그리고 index라는 함수를 만들었고 단순히 HttpResponse함수를 통한 반환을 하도록 하였습니다.


이렇게 하고 명령어창을 기본 start_django 폴더에 위치하게 한다음, 아래의 명령어를 입력하면 서버가 돌아가게 됩니다.


python manage.py runserver



migrations 에 대한 경고가 뜨는데 일단은 무시하겠습니다.

그리고 이제 localhost:8000 으로 접속하게 되면 아래와 같이 우리가 작성한 첫화면이 나오게 됩니다.



블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc


안녕하세요. 문범우입니다.

최근 동아리 친구들과 장고 스터디를 하며 프로젝트를 진행하게 되었습니다.

공부하는 겸, 나중에 다시 참고할 수 있도록 정리해서 포스팅해보도록 하겠습니다.

앞으로 진행되는 django 프로젝트는 17년말에 새롭게 릴리즈된 django 2.0 버전을 바탕으로 진행됩니다.


먼저 이번 포스팅 장고 설치하는 방법과 기본 프로젝트 시작방법에 대해서 알아보도록 하겠습니다.


1. Django 설치하기


django 설치 방법은 매우 간단합니다.

구글링을 해보니 어떤 분들은 가상환경을 구성해서 설치하기도 하지만, 가상환경 구성에 있어서 까다로워 하시는 분들도 있고 아직 그럴만한 필요성을 크게 느끼지 못해서(제가 부족한 탓일겁니다..) 단순하게 로컬에 설치해보도록 하겠습니다.


아래 주소의 django 공식 홈페이지에도 설치 방법이 나와있으나 간단하기 때문에 굳이 참고하지 않으셔도 될 듯 합니다.


https://docs.djangoproject.com/en/2.0/intro/install/


우선 준비되어야 하는 점은,

python이 3.x 버전 이상이어야 하는 점 입니다.

저는 현재 OS X 환경에서 진행하고 있지만, 설치방법은 윈도우도 동일합니다.


먼저 터미널(윈도우의 경우 cmd)을 실행시켜서 아래와 같이 명령어를 입력합니다.


python --version


만약 해당 명령어에 대한 결과로, python 2버전이 나오시는 분들은,


python3 --version


을 입력해보시길 바랍니다.


대표적으로 맥에서는 python 2버전이 기본적으로 설치되어있어서 python 3버전을 설치시 따로 python3라고 명시하여 명령어를 내려줘야 합니다.


장고 프로젝트는 파이썬 3버전 이상을 바탕으로 진행할 예정이기 때문에, python 3버전이 아니신 분들은 python 공식 홈페이지를 통해서 3버전을 다운받으시길 바랍니다.


파이썬 3버전이 준비되었다면 다음과 같은 명령어로 장고를 설치합니다.


pip install django


만약, python3 --version 을 통해 파이썬 3버전을 확인하신 분들은


pip3 install django


로 입력해주셔야 합니다.


약간 기다리면 장고 설치가 완료됩니다.



2. 장고 프로젝트 시작하기


장고 설치가 완료되었으면 다음과 같은 명령어로 장고 프로젝트를 시작합니다.


django-admin startproject start_django


위의 명령어에서 start_django 는 단순히 프로젝트 이름이기 때문에 변경해주셔도 무관합니다.



위와 같이 django-admin startproject start_django 를 입력해도 아무런 결과가 뜨지 않지만, 실제로 ls 명령어(윈도우의 경우 dir)로 확인을 해보면 start_django라는 폴더가 생긴것을 확인할 수 있습니다.

( mysite 는 이전에 제가 혼자 공부하느라 만들었던 프로젝트이니 신경안쓰셔도 됩니다. )



이제 방금 생긴 start_django 폴더로 들어가서 다시 ls 명령어를 통해 확인해보면 

manage.py 파일과 start_django 폴더가 생긴것을 확인할 수 있습니다.


먼저 추가적으로 해당 프로젝트에 대해서 다뤄보기전에 서버를 돌려 정상적으로 프로젝트가 실행되는지 확인해보도록 하겠습니다.


해당 위치에서 아래와 같은 명령어를 입력합니다.


python manage.py runserver



정상적으로 명령어를 입력하시면 위와 같이 결과가 나오게 되고 더 이상 명령어를 입력할 수 없게 됩니다.

해당 결과는 현재 127.0.0.1:8000 에서 서버가 돌아가고 있다는 것을 의미하며, 의미상으론 localhost:8000 과 동일합니다.

따라서 웹 브라우저의 주소창에 


127.0.0.1:8000 또는 localhost:8000 


을 입력합니다.


해당 주소를 입력하여,



위와 같은 화면이 떴다면 정상적으로 프로젝트를 만든 것 입니다.


이제 다음 포스팅부터 제대로 장고 프로젝트를 수정해가며 꾸며보도록 하겠습니다.


블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc