✔️ CentOS 6.2, Python 2.6.6, django 1.6.5에서 테스트하였습니다.
- 리눅스 django 설치
- django 튜토리얼
1 사전확인[ | ]
Console
Copy
[root@localhost ~]# rpm -qa | grep ^python
python-libs-2.6.6-36.el6.x86_64
python-iniparse-0.3.1-2.1.el6.noarch
python-pycurl-7.19.0-8.el6.x86_64
python-2.6.6-36.el6.x86_64
python-urlgrabber-3.9.1-8.el6.noarch
Console
Copy
[root@localhost ~]# python -V
Python 2.6.6
2 EPEL 저장소 추가[ | ]

3 python-pip 설치[ | ]
Console
Copy
[root@localhost ~]# yum install python-pip
... (생략)
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Installing:
python-pip noarch 1.3.1-4.el6 epel 330 k
Installing for dependencies:
python-setuptools noarch 0.6.10-3.el6 base 336 k
Transaction Summary
======================================================================================================
Install 2 Package(s)
Total download size: 666 k
Installed size: 2.5 M
Is this ok [y/N]: y
Console
Copy
... (생략)
Installed:
python-pip.noarch 0:1.3.1-4.el6
Dependency Installed:
python-setuptools.noarch 0:0.6.10-3.el6
Complete!
4 django 설치[ | ]
Console
Copy
[root@localhost ~]# pip install django
Downloading/unpacking django
Downloading Django-1.6.5.tar.gz (6.6MB): 6.6MB downloaded
Running setup.py egg_info for package django
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
Running setup.py install for django
changing mode of build/scripts-2.6/django-admin.py from 644 to 755
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
changing mode of /usr/bin/django-admin.py to 755
Successfully installed django
Cleaning up...
5 webapp 폴더 초기화[ | ]
Console
Copy
[root@localhost ~]# mkdir /opt/webapp
[root@localhost ~]# cd /opt/webapp
[root@localhost webapp]# django-admin.py startproject mysite
[root@localhost webapp]# find . -type f
./mysite/manage.py
./mysite/mysite/wsgi.py
./mysite/mysite/urls.py
./mysite/mysite/settings.py
./mysite/mysite/__init__.py
6 서버 실행[ | ]
Console
Copy
[root@localhost webapp]# cd mysite/
[root@localhost mysite]# python manage.py runserver &
... (생략)
Django version 1.6.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^M
Console
Copy
[root@localhost mysite]# ps -ef | grep runserver | grep -v grep
root 20014 19953 1 15:34 pts/0 00:00:00 python manage.py runserver
root 20015 20014 2 15:34 pts/0 00:00:00 /usr/bin/python manage.py runserver
Console
Copy
[root@localhost mysite]# netstat -anp | grep python
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 20015/python
Console
Copy
[root@zetawiki mysite]# curl "localhost:8000" 2>&1 | grep worked
[20/Jun/2014 06:34:43] "GET / HTTP/1.1" 200 1757
<h1>It worked!</h1>
7 서버 중지/시작[ | ]
Console
Copy
[root@localhost mysite]# kill 20014 20015
[root@localhost mysite]# ps -ef | grep runserver | grep -v grep
Console
Copy
[root@localhost mysite]# python manage.py runserver 0.0.0.0:8000 &
... (생략)
Django version 1.6.5, using settings 'mysite.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
^M
Console
Copy
[root@localhost mysite]# ps -ef | grep runserver | grep -v grep
root 20031 19953 1 15:35 pts/0 00:00:00 python manage.py runserver 0.0.0.0:8000
root 20032 20031 1 15:35 pts/0 00:00:00 /usr/bin/python manage.py runserver 0.0.0.0:8000
Console
Copy
[root@localhost mysite]# netstat -anp | grep python
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 20032/python
- 다른 컴퓨터 웹브라우저에서 http://서버주소:8000 으로 접속해보자.
text
Copy
It worked!
Congratulations on your first Django-powered page.
Of course, you haven't actually done any work yet. Next, start your first app by running python manage.py startapp [appname].
You're seeing this message because you have DEBUG = True in your Django settings file and you haven't configured any URLs. Get to work!
8 Hello, world![ | ]
- views.py 작성
Bash
Copy
vi views.py
Python
Copy
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, world!")
- urls.py 수정
Bash
Copy
vi urls.py
Python
Copy
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'mysite.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^hello/', 'mysite.views.hello', name='home')
)
- 웹브라우저에서 http://서버주소:8000/hello/ 접속 확인
text
Copy
Hello, world!
9 안녕, 친구들![ | ]

- views.py 수정
Python
Copy
# -*- coding: utf-8 -*-
from django.http import HttpResponse
def hello(request):
return HttpResponse("안녕, 친구들!")
- 웹브라우저에서 http://서버주소:8000/hello/ 접속 확인
text
Copy
안녕, 친구들!
10 같이 보기[ | ]
11 참고[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.