티스토리 뷰

인터넷 비지니스가 활개를 치는 현 시점에 과연 Agile한 개발을 하기위해 필요한 기술이 무엇이 있을까 생각하던중 내가 즐겨쓰는 Python 기반의 좋은 web framework가 있어 소개 및 테스트를 해보려 합니다.

mvc 방식의 개념을 가지고 있다면 그 누구라도 쉽게 사용할 수 있으리라 생각합니다.

그럼 본론으로 들어가 보도록 하겠습니다.

 

설치환경

OS : Ubuntu 11.10

Python : 2.7

django : 1.3

 

step 1. django 설치

우분투에선 말이 필요없다. apt-get을 이용합니다. ( apt-get 이용이 힘들 경우 http://parksk.tistory.com/107 참조 )

$ sudo apt-get install python-django

 

step 2. 설치 확인

$ django-admin -h

 

step 3. Project 생성

프로젝트를 생성합니다.

$ django-admin startproject

 

step 4. DB 설정

프로젝트를 생성 후 디렉토리 안에 보면 아래와 같이 네가지 파일이 생성 된 것을 확인 할 수 있습니다.

확인 후 settings.py 를 열고 DB를 설정 합니다.

$ ls

__init__.py  manage.py  settings.py  urls.py

$ vi settings.py

DATABASES = {
    'default': {
        'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django_bookmarks',                      # Or path to database file if using sqlite3.
        'USER': 'rocksea',                      # Not used with sqlite3.
        'PASSWORD': '1111                 # Not used with sqlite3.
        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.
    }
}
 

python DB Connector가 설치 되어있지 않을 경우 아래의 명령을 실행 합니다.

$ sudo apt-get install python-mysqldb

 

step 5. webapp 생성

web application 디렉터리를 생성합니다. 생성하게되면 아래 와 같이 생성 된 파일을 볼 수 있습니다.

$ python manage.py startapp webapp

$ls

__init__.py  models.py  tests.py  views.py

step 6. views.py 설정

django에서의 view 의 역할은 template 역할 이 아닌 controller역할을 하므로 유의하시기 바랍니다.

$ vi views.py

from django.http import HttpResponse
# Create your views here.
def main_page(request):
        output ='''
                <html>
                <head><title>%s</title></head>
                <body>
                        <h1>%s</h1>
                        <p>%s</p>
                </body>
                </html>
                ''' % ( 'Django TEST',
                        'Welcome to Django',
                        'Hello World!!'
                )
        return HttpResponse(output)

 

step 7. url mapping 설정

main_view를 메인페이지로 설정

$vi urls.py

from django.conf.urls.defaults import patterns, include, url
#from webapp.views import *

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns( '',
                        (r'^$','webapp.views.main_page'),
    # Examples:
    # url(r'^$', 'django_bookmarks.views.home', name='home'),
    # url(r'^django_bookmarks/', include('django_bookmarks.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
)

 

step 8. server 실행

이제 마지막으로 server를 실행해서 확인만 하면 끝.

$ python manage.py runserver 0.0.0.0:8000

 

browser에서 http://ip:8000 접속 후 확인

 

 

이제 응용해서 멋진 web application을 만드는 것은 당신의 몫 입니다.

by rocksea.

 

댓글