Differences between revisions 43 and 44
Revision 43 as of 2007-10-12 09:35:32
Size: 4652
Editor: 203
Comment:
Revision 44 as of 2007-11-26 10:30:43
Size: 4744
Editor: 203
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
 * [http://www.amitu.com/blog/2007/july/django-extending-user-model/ Extending User model]

[Python] WebApplication framework

http://www.djangoproject.com/

[Ruby]에 RubyOnRails가 있다면, [Python]에는 [Django]가 있다. 짧은 시간내에 짧은 코드로 원하는 기능을 구현하고자함. 관리자용 인터페이스가 미리 구현되어(확장가능) 있다는 점이 특징.

관련포스트

이용가능한 개발환경

각종 자료들

튜토리얼번역

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


Model.objects.get(pk=model_id) 로 데이터를 가져올 때 해당 id의 내용이 없으면, DoesNotExist 예외가 발생한다. 이걸 Http404 예외로 바꾸고, template 상위디렉토리에 404.html 파일을 만들어 놓으면, 해당 데이터가 없을 때, 404.html 템플릿이 출력된다. 재밌는건 settings 에서 Debug=True 로 놓으면, django error 페이지가 출력된다. -- ["yong27"] DateTime(2007-09-11T10:02:29Z)

기타

다른건 다 마음에 드는데, 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)


newforms.form_for_model 을 써서 subclassing을 하면, 제대로 되지 않는다. 즉

   1 from django import newforms as forms
   2 IndividualForm = forms.form_for_model(Individual)
   3 CattleForm = forms.form_for_model(Cattle)
   4 class CattleIndividualForm(IndividualForm, CattleForm):
   5     pass

의 경우, CattleForm의 필드들은 출력되지 않는다. 찾아보니, http://code.djangoproject.com/ticket/3815 가 보고되어 있으나, 아직 적용되지 않고 있다. http://code.djangoproject.com/ticket/5050 에 첨부된 [Patch]를 적용하니 제대로 되긴 하다. 언제 적용되려나...

-- ["yong27"] DateTime(2007-09-05T06:02:08Z)


template block으로 url을 쓸 경우, 해당 url의 RegularExpression이 (abc|def|gh) 로 되어 있을 경우, 역 파싱이 안된다. 관련 질답은 [http://www.nabble.com/Question-about-%7B--url---%7D-t4164661.html nabble]과 [http://code.djangoproject.com/ticket/2977 #2977]

토론

(질문 답변은 [/QnA] 페이지 참고)


CategoryProgramLibrary

Django (last edited 2012-12-26 16:56:19 by 182)

web biohackers.net