[Python] WebApplication framework

http://www.djangoproject.com/

RubyOnRails의 영향으로 만들어짐. 짧은 시간내에 짧은 코드로 원하는 기능을 구현하고자함. 관리자용 인터페이스가 미리 구현되어(확장가능) 있다는 점이 특징.

관련포스트

이용가능한 개발환경

각종 자료들

튜토리얼번역

0.91 버전을 번역. 최신버전은 http://djangoproject.com/documentation/ 의 원본 문서를 참고

  1. [/Tutorial1] : Initialization, creating models, the database API
  2. [/Tutorial2] : Exploring the automatically-generated admin site
  3. [/Tutorial3] : Creating the public interface views
  4. [/Tutorial4] : Simple form processing and generic views

관련문서들

  1. [/AdminInterface]

  2. [/DbApi]

몇가지 팁들

원격지의 컴퓨터에서 runserver를 확인하고 싶으면 아래의 명령 사용

python manage.py runserver 0.0.0.0:8080

template에서 모델객체 사용시, 메쏘드 호출에 "()"를 쓰지 않아야 한다.

다른 스크립트에서 django로 만든 프로젝트로 접근하는 방법

   1 import sys, os
   2 sys.path.append('/home/yong27/test/django') # upper directory of the project
   3 os.environ['DJANGO_SETTINGS_MODULE'] = 'antifungal.settings' # project.settings

[Sqlite]를 쓰면서 ModPython으로 서비스를 시작하면 다음에러를 만난다.

OperationalError: SQL logic error or missing database

sqlite db의 permission을 수정해준다.

offline에서 문서를 읽고 싶으면 다음처럼...

wget http://www.djangoproject.com/documentation/ -r -np -k

기타

다른건 다 마음에 드는데, web-templating이 별로다. [Twisted]-[Nevow]에 쓰는 방식을 도입하면 어떨까. -- ["yong27"] DateTime(2006-03-18T08:23:45Z)

  • 템플릿에서 XML을 안쓰는건 충분한 이유가 있다. 쓸데없이 무거워지는 것을 방지하는 측면이 있다. -- ["yong27"] DateTime(2007-02-12T01:52:50Z)

template 에서 "."을 많이 쓰지 않도록 한다. 가능한한 context로 넘겨주는 것이 [SQL]쿼리 숫자를 줄이는 것이다. -- ["yong27"] DateTime(2006-12-08T09:01:24Z)

토론

인실리코젠이 장고 확산에 일등공신이라는 느낌이 듭니다. 앞으로 장고에 대해 세미나 혹은 강좌를 계획하고 계신것이 있나요?


admin시스템을 사용하려고 설정을 하고 로그인을 했는데 다음과 같은 에러를 만났습니다

ProgrammingError at /admin/
(1146, "Table 'django_test.django_admin_log' doesn't exist")
Request Method:         GET
Request URL:    http://127.0.0.1:8000/admin/
Exception Type:         ProgrammingError
Exception Value:        (1146, "Table 'django_test.django_admin_log' doesn't exist")
Exception Location:     /usr/lib/python2.4/site-packages/MySQLdb/connections.py in defaulterrorhandler, line 35
Template error

In template /usr/lib/python2.4/site-packages/Django-0.95.1-py2.4.egg/django/contrib/admin/templates/admin/index.html, error at line 56

어떤 문제 때문인가요?


계속 장고에 대해 질문하게 되네요 장고를 학습하기가 여의치 않습니다. django book과 공식 홈페이지의 문서를 참조중인데 완전히 독립된 [MVC]에 적응이 잘 안되네요. 어떻게 하면 장고를 효과적으로 학습할수 있을까요?

  • 일단 Django를 자유롭게 쓰시려면 [Python]에 익숙해지셔야 합니다. 따로 시간을 내셔서라도 [Python] 사용법을 완전히 익히시고요, [Django] 홈페이지의 튜토리얼을 몇번 그대로 따라하시면 웬만큼 하실 수 있을 듯 합니다. 그 다음에는 직접 자신만의 프로젝트를 하나 해보시기를 추천합니다. 마땅한 프로젝트가 없으시면, EnglishStudyWithDjango 프로젝트를 같이 하셔도 됩니다. 가장 효과적인 학습방법은 직접 무언가를 만들면서, 접해보는 것이라고 생각합니다. -- ["yong27"] DateTime(2007-02-12T01:51:52Z)


Django기반으로된 게시판 혹은 블로그가 있을까요?

  • 아직 국내사용자가 많지 않아서, 국내서 개발된 것은 거의 없는 듯 합니다. [Google]서 검색해보면, 몇 개 정도 눈에 띄긴 하는데, 정식 패키지로 나와있기 보다는, 개별적으로 커스터마이징해서 쓰는 듯 합니다. http://code.djangoproject.com/wiki/DjangoPoweredSites 페이지를 보시면, [Django]를 쓰는 많은 사이트들을 볼 수 있습니다. -- ["yong27"] DateTime(2007-02-11T04:08:33Z)


PHP로만 웹개발을 한지 6개월 된것 같습니다. 사실 PHP는 웹 개발을 위한 스크립트의 형식이 강해 본인의 의지에 의하지 않으면 스파게티코드 가 될수밖에 없는 구조를 가지고 있다고 생각됩니다. 그래서 요즘 체계적인 개발과 반복적인 작업을 줄이기 위한 방편으로 프레임워크를 알아보 다 Django를 찾게 되었습니다. 그러나 궁금한 점은 Django를 통해 원하는 개발을 모두 할 수 있는지 입니다. 예를 들어 쇼핑몰을 개발한다던가, 단순한 홈페이지 형식이 아닌 웹 어플리케이션([ERP]등등)이 가능하냐는 것입니다.

  • 물론 모두 가능합니다. [Django]가 원래 쇼핑몰같은 웹어플리케이션 같은 것들을 개발하려고 만들어진 것입니다. 최근의 웹기술들(예를 들어, [AJAX]등)도 모두 Django에서 구현이 가능합니다. -- ["yong27"] DateTime(2007-02-10T01:21:00Z)


CategoryProgramLibrary

web biohackers.net