Differences between revisions 48 and 78 (spanning 30 versions)
Revision 48 as of 2008-01-22 09:47:16
Size: 5134
Editor: 203
Comment:
Revision 78 as of 2012-12-26 16:56:19
Size: 3879
Editor: 182
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[Python] WebApplication framework [[Python]] WebApplication framework
Line 6: Line 6:
[Ruby]에 RubyOnRails가 있다면, [Python]에는 [Django]가 있다. 짧은 시간내에 짧은 코드로 원하는 기능을 구현하고자함. 관리자용 인터페이스가 미리 구현되어(확장가능) 있다는 점이 특징. [[Ruby]]에 RubyOnRails가 있다면, [[Python]]에는 [[Django]]가 있다. 짧은 시간내에 짧은 코드로 원하는 기능을 구현하고자함. 관리자용 인터페이스가 미리 구현되어(확장가능) 있다는 점이 특징.
Line 9: Line 9:
 * [http://openlook.org/blog/1033 귀도의 돌아온 웹프레임워크 시대]
 * [http://www.oreillynet.com/onlamp/blog/2006/01/shifting_gears_switching_to_dj.html Shifting Gears: Switching to Django] : TurboGears에서 Django로의 손쉬운 이전
 * [http://www-128.ibm.com/developerworks/linux/library/l-django/?ca=dgr-btw01DjangoAndPython Python Web frameworks, Part 1: Develop for the Web with Django and Python]
 * [http://davidavraamides.net/blog/tag/django/ davidavraamides.net 의 django tags]
 * [[http://openlook.org/blog/1033|귀도의 돌아온 웹프레임워크 시대]]
 * [[http://www.oreillynet.com/onlamp/blog/2006/01/shifting_gears_switching_to_dj.html|Shifting Gears: Switching to Django]] : TurboGears에서 Django로의 손쉬운 이전
 * [[http://www-128.ibm.com/developerworks/linux/library/l-django/?ca=dgr-btw01DjangoAndPython|Python Web frameworks, Part 1: Develop for the Web with Django and Python]]
 * [[http://davidavraamides.net/blog/tag/django/|davidavraamides.net 의 django tags]]
Line 14: Line 14:
 * [http://www.amitu.com/blog/2007/july/django-extending-user-model/ Extending User model]
 * [http://www.b-list.org/weblog/2007/nov/27/performance/ Django performance tips]
 * [http://superjared.com/projects/static-generator/ Static generator] : 10배이상 빠른 정적파일 서비스
 * [[http://yong27.biohackers.net/378|테스트 주도 장고 웹사이트 개발]] [[TDD]] by Django
 * [[http://lukeplant.me.uk/blog/posts/some-quick-django-optimisation-lessons/|Some quick Django optimization lessons]]
Line 19: Line 18:
 * RelationalDatabase : [MySQL], PostgreSql, [Sqlite], [Oracle] (DjangoAndOracle)
 * Web server : ModPython, [SCGI], FastCgi, [Twisted],...
 * RelationalDatabase : [[MySQL]], [[PostgreSQL]], [[Sqlite]], [[Oracle]] (DjangoAndOracle)
 * Web server : ModPython, [[SCGI]], FastCgi, [[Twisted]],...
Line 23: Line 22:
 * [DjangoOnFramework2.1]  * [[DjangoOnFramework2.1]]
Line 27: Line 26:
 * [[DjangoAndPostgreSQL]]
 * DjangoTips
 * DjangoYongsPatch
 * PracticalDjangoProject
 * [[Django1.0]]
 * VimForDjango
 * LearningWebsiteDevelopmentWithDjango
 * [[http://stackoverflow.com/questions/550632/favorite-django-tips-features|Favorite Django Tips & Features]]
 * [[http://lightbird.net/dbe/index.html|Django by Example]]
 * [[http://rubysource.com/django-for-the-rails-developer/|Django for the Rails Developer]]
 * [[http://www.servercobra.com/django-performance-tuning/|Django performance tuning]]
Line 29: Line 39:
== 튜토리얼번역 ==
0.91 버전을 번역. 최신버전은 http://djangoproject.com/documentation/ 의 원본 문서를 참고, 혹은 [http://code.djangoproject.com/wiki/DjangoDocumentKoreanTranslation 공식 한국어번역 페이지] 참고.
 1. [/Tutorial1] : Initialization, creating models, the database API
 1. [/Tutorial2] : Exploring the automatically-generated admin site
 1. [/Tutorial3] : Creating the public interface views
 1. [/Tutorial4] : Simple form processing and generic views
Django를 이용한 OpenSource 프로젝트들
 * [[Blogmaker]] : Django for [[Blog]]
 * [[https://github.com/achimnol/allatpay-python|올앳페이 결제모듈]]

관련컨퍼런스
 * DjangoCon
Line 37: Line 47:
 1. [/AdminInterface]
 1. [/DbApi]
 1. [[/AdminInterface]]
 1. [[/DbApi]]
Line 40: Line 50:
== 몇가지 팁들 ==
원격지의 컴퓨터에서 runserver를 확인하고 싶으면 아래의 명령 사용
{{{
python manage.py runserver 0.0.0.0:8080
}}}
== 3rd party applications ==
 1. [[django-extensions]]
 1. [[http://pypi.python.org/pypi/django-popup-forms/1.0.3|django-popup-forms]]
Line 46: Line 54:
----
template에서 모델객체 사용시, 메쏘드 호출에 "()"를 쓰지 않아야 한다.

다른 스크립트에서 django로 만든 프로젝트로 접근하는 방법
{{{#!python
import sys, os
sys.path.append('/home/yong27/test/django') # upper directory of the project
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)]]
== 튜토리얼번역 ==
0.91 버전을 번역. 최신버전은 http://djangoproject.com/documentation/ 의 원본 문서를 참고, 혹은 [[http://code.djangoproject.com/wiki/DjangoDocumentKoreanTranslation|공식 한국어번역 페이지]] 참고.
 1. [[/Tutorial1]] : Initialization, creating models, the database API
 1. [[/Tutorial2]] : Exploring the automatically-generated admin site
 1. [[/Tutorial3]] : Creating the public interface views
 1. [[/Tutorial4]] : Simple form processing and generic views
Line 74: Line 62:
다른건 다 마음에 드는데, web-templating이 별로다. [Twisted]-[Nevow]에 쓰는 방식을 도입하면 어떨까. -- ["yong27"] [[DateTime(2006-03-18T08:23:45Z)]]
 ''템플릿에서 XML을 안쓰는건 충분한 이유가 있다. 쓸데없이 무거워지는 것을 방지하는 측면이 있다.'' -- ["yong27"] [[DateTime(2007-02-12T01:52:50Z)]]
다른건 다 마음에 드는데, web-templating이 별로다. [[Twisted]]-[[Nevow]]에 쓰는 방식을 도입하면 어떨까. -- [[yong27]] <<DateTime(2006-03-18T08:23:45Z)>>
 ''템플릿에서 XML을 안쓰는건 충분한 이유가 있다. 쓸데없이 무거워지는 것을 방지하는 측면이 있다.'' -- [[yong27]] <<DateTime(2007-02-12T01:52:50Z)>>
Line 77: Line 65:
template 에서 "."을 많이 쓰지 않도록 한다. 가능한한 context로 넘겨주는 것이 [SQL]쿼리 숫자를 줄이는 것이다. -- ["yong27"] [[DateTime(2006-12-08T09:01:24Z)]]

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

{{{#!python
from django import newforms as forms
IndividualForm = forms.form_for_model(Individual)
CattleForm = forms.form_for_model(Cattle)
class CattleIndividualForm(IndividualForm, CattleForm):
    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]
[[http://groups.google.com/group/django-users/msg/40d9db3cd0b87a4a|HTTP_REFERER isn't set using Explorer]]와 같은 증상이 나타나고 있다. 아직 아무도 답변이 없는 상태. -- [[yong27]] <<DateTime(2008-03-20T05:21:14Z)>>
Line 99: Line 68:
(질문 답변은 [/QnA] 페이지 참고) (질문 답변은 [[/QnA]] 페이지 참고)
Line 101: Line 70:
http://djangopeople.net 에 나를 등록했다. GoogleMaps랑 연동하니까 저런 재밌는 서비스가 나오는 군. 참고! -- [[yong27]] <<DateTime(2008-03-26T04:53:08Z)>>

Python WebApplication framework

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

관련포스트

이용가능한 개발환경

각종 자료들

Django를 이용한 OpenSource 프로젝트들

관련컨퍼런스

관련문서들

  1. /AdminInterface

  2. /DbApi

3rd party applications

  1. django-extensions

  2. django-popup-forms

튜토리얼번역

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

기타

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

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

HTTP_REFERER isn't set using Explorer와 같은 증상이 나타나고 있다. 아직 아무도 답변이 없는 상태. -- yong27 2008-03-20 14:21:14

토론

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

http://djangopeople.net 에 나를 등록했다. GoogleMaps랑 연동하니까 저런 재밌는 서비스가 나오는 군. 참고! -- yong27 2008-03-26 13:53:08


CategoryProgramLibrary

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

web biohackers.net