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/ 가 되니까 조심해야 합니다.
그래도 안 되면 다음 사이트를 참고해 봅시다.
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를 이용해 만들어본 예제 시스템