1. django ๋ ? ¶
- http://www.djangoproject.com/
- Python ํ๊ฒฝ์์ ์น์ ์ฝ๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ฃผ๋ Framework
- ๊ฐ๋ฐ์ด ๋๋๊ณ ์ค์ ๋ก ์๋น์คํ ๊ฒฝ์ฐ์๋ apache + mod_python ์ผ๋ก ์ฌ๋ ค์ผ ํ๋ค.
- http://www.djangoproject.com/documentation/modpython/ ์ด ํ์ด์ง๋ฅผ ์ฐธ๊ณ .
- apache์ mod_python ์ค์น๋ apache/mod_python ํ์ด์ง ์ฐธ๊ณ .
- http://www.djangoproject.com/documentation/modpython/ ์ด ํ์ด์ง๋ฅผ ์ฐธ๊ณ .
2. ์๊ฒฌ ¶
- ๋์์ธ์ด ์ถ์ ํํ ๋ฆฌ์ผ ์ค์ต์ ๋ฐ๋ผ์ ํด๋ณธ ๊ฒฐ๊ณผ ์ด๊ฒ์ ์ตํ๋ฉด ๋๊ฒ ํจ์จ์ด ๋์์ง๊ฒ ๊ฐ๋ค.
- html ์ด ์๋ template ์ ๋ง์ ๊ฒ์ ๋ฐ๋ผ์ง ๋ง์. ๊ฐ๋ฅํ๋ฉด view์์ ๋ฐ์ดํฐ๋ฅผ ๊ฑฐ์๋ค ์ฒ๋ฆฌํด์ template์ ๋๊ธฐ๋๊ฒ์ด ์ข๋ค. template์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ก ๋ฆฌ์คํธ์ ๋งต ๋ณ์์ ์ฒจ์(subscriber)๋ก ์ฌ์ฉํ๋ ค๊ณ ํ๋๋ฐ ์๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์๋ view์์ ๋ฐ์ดํฐ๋ฅผ ์์ ๊ฐ๊ณตํด์ ๋๊ธฐ๋ ๊ฒ์ด ์ข๋ค.
3. DB ์ฐ๊ฒฐ ¶
- pysqlite๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ ์ฒซ๋ฒ์งธ ํํ ๋ฆฌ์ผ ์ฒ๋ผ ํ๋ฉด ๋๋ค.
- mysql ์ ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ settings.py ํ์ผ์ ์ค์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ pysqlite์ ๋ค๋ฅธ ์ ์ DB ์ด๋ฆ์ ๋ฃ๊ณ ๋์ mysql ๋ค์ด๊ฐ์ ๋ฐ๋ก DB๋ฅผ ๋ง๋ค์ด ์ค์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๋ ๋ง๋ค์ด ์ค์ผ ํ๋ค.
- syncdb ํด๋ admin ์์ ์ถ๊ฐํ ๊ฒ์ด ๋ณด์ด์ง ์์๋๋ runserver ํ๊ฑฐ๋ฅผ ์ค์ง ์ํค๊ณ ๋ค์ ์๋ฒ๋ฅผ ์์ ํ๋ฉด ๋ณด์ธ๋ค.
- pysqlite๋ค์ด๋ก๋
- ๊ฐLinux๋ณ์ค์น
4. apache2, mod_python์ ์ด์ฉํ ์น ์๋ฒ ์ค์ ¶
์ค์ ํ์ผ ๋๋ฌธ์ ์ฝ์งํ์ง ๋ง์๋ค.
์์ /path/to/project/mysite ์ settings.py ํ์ผ์ด ์๋ ๊ฒฝ์ฐ
์ค์๋ก
๊ทธ๋๋ ์ ๋๋ฉด ๋ค์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด ๋ด ์๋ค.
~php <Location "/<์น์ ํตํด ์ ๊ทผํ ์ฃผ์>"> SetHandler python-program PythonHandler django.core.handlers.modpython PythonPath "['<ํ๋ก์ ํธ ๋ถ๋ชจํด๋>'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE <ํ๋ก์ ํธ ์ด๋ฆ>.settings PythonDebug On </Location>
~php <Location "/mysite"> #http://localhost/mysite SetHandler python-program PythonHandler django.core.handlers.modpython PythonPath "['/path/to/project'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On </Location>
~php <Location "/mysite/">๋ผ๊ณ ์ฐ๋ฉด http://localhost/mysite ๋ ์ ๋๊ณ http://localhost/mysite/ ๊ฐ ๋๋๊น ์กฐ์ฌํด์ผ ํฉ๋๋ค.
๊ทธ๋๋ ์ ๋๋ฉด ๋ค์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํด ๋ด ์๋ค.
5. ์ถ์ฒ ํํ ๋ฆฌ์ผ ¶
- ๋์์ธ์ด์ถ์ ์์์ค์ตํ์ฅ๊ณ : ์ค์ ๋ก ์น ๊ฐ๋ฐ์ ๋ฐ๋ผ์ ํด๋ณธ๋ค.
6. mod_python์ผ๋ก ๋์์ admin ํ๋ฉด ๊นจ์ง ํด๊ฒฐ ¶
- ์์ธ์ CSS ๋ฅผ ์ ๋๋ก ๋ก๋ํ์ง ๋ชปํด์์.
- settings.py ์๋ ๋ถ๋ถ์ฒ๋ผ ์์
~cpp ADMIN_MEDIA_PREFIX = '/'
- ๊ทธ๋ฆฌ๊ณ C:\Python24\Lib\site-packages\Django-0.95-py2.4.egg\django\contrib\admin\media ์ ์๋ css ํด๋๋ฅผ docuemntRoot(www ์ด๋ htdoc) ํด๋์ ๋ณต์ฌํ๋ฉด ํด๊ฒฐ๋จ.
7. ์ฐธ๊ณ ํ์ด์ง ¶
- ๊ตฌ๊ธ์์Django์ธ๋ฏธ๋
- django๋ก๋ธ๋ก๊ทธ์๋น๋์ค๋ฃ๊ธฐ
- http://www.mercurytide.com/knowledge/white-papers/django-full-text-search : Model ์ Object ์ ๋ํ ํจ์๋ค ์ฌ์ฉ๋ฐฉ๋ฒ
- http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/ : Template HTML ํ์ผ ์ฌ์ฉ๋ฒ
- http://www.b-list.org/weblog/2006/06/13/how-django-processes-request : Template ์์์ ๋ณ์ ์ฐธ์กฐ์ ๋ํ ์ค๋ช
. ํ์!!, ๋ฆฌ์คํธ๋, ๋งต, ํจ์๋ฑ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
- django/Example - django๋ฅผ ์ด์ฉํด ๋ง๋ค์ด๋ณธ ์์ ์์คํ