[[TableOfContents]] = django 는 ? = * [http://www.djangoproject.com/] * Python 환경에서 웹을 쉽게 개발할수 있도록 도와주는 Framework * 개발이 끝나고 실제로 서비스할 경우에는 apache + mod_python 으로 올려야 한다. * [http://www.djangoproject.com/documentation/modpython/] 이 페이지를 참고. * apache에 mod_python 설치는 [apache/mod_python] 페이지 참고. = 의견 = * 대안언어 축제 튜토리얼 실습을 따라서 해본 결과 이것을 익히면 되게 효율이 높아질것 같다. * html 이 있는 template 에 많은 것을 바라지 말자. 가능하면 view에서 데이터를 거의다 처리해서 template에 넘기는것이 좋다. template에서 받아온 데어터로 리스트와 맵 변수의 첨자(subscriber)로 사용하려고 했는데 안된다. 이러한 경우에는 view에서 데이터를 아예 가공해서 넘기는 것이 좋다. = DB 연결 = * pysqlite를 사용하면 아래 첫번째 튜토리얼 처럼 하면 된다. * mysql 은 사용자를 생성하고 settings.py 파일을 설정한다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 한다. 그리고 사용자도 만들어 줘야 한다. * syncdb 해도 admin 에서 추가한 것이 보이지 않을때는 runserver 한거를 중지 시키고 다시 서버를 시작 하면 보인다. * [http://linux.softpedia.com/progDownload/PySQLite-Download-6511.html pysqlite다운로드] * [http://www.initd.org/tracker/pysqlite/wiki/PysqlitePackages 각Linux별설치] = apache2, mod_python을 이용한 웹 서버 설정 = 설정 파일 때문에 삽질하지 맙시다. {{{~php "> SetHandler python-program PythonHandler django.core.handlers.modpython PythonPath "['<프로젝트 부모폴더>'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE <프로젝트 이름>.settings PythonDebug On }}} [예시] /path/to/project/mysite 에 settings.py 파일이 있는 경우 {{{~php #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 }}} 실수로 {{{~php }}} 라고 쓰면 http://localhost/mysite 는 안 되고 http://localhost/mysite/ 가 되니까 조심해야 합니다. 그래도 안 되면 다음 사이트를 참고해 봅시다. == For Linux == http://www.djangoproject.com/documentation/modpython/ http://blog.timc3.com/2006/07/26/django-with-apache2/ http://www.carthage.edu/webdev/?p=14 == For Windows == http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/ = 추천 튜토리얼 = * [http://altlang.org/fest/EnglishStudyWithDjango 대안언어축제에서실습한장고] : 실제로 웹 개발을 따라서 해본다. = 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) 폴더에 복사하면 해결됨. = 참고 페이지 = * [http://video.google.com/videoplay?docid=-70449010942275062 구글에서Django세미나] * [http://blog.go4teams.com/?p=56 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를 이용해 만들어본 예제 시스템 * [django/Model] * [django/ModifyingObject] * [django/RetrievingObject] * [django/AggregateFunction]