Differences between revisions 28 and 41 (spanning 13 versions)
Revision 28 as of 2007-02-12 10:52:52
Size: 5550
Editor: 211
Comment:
Revision 41 as of 2007-09-14 13:47:34
Size: 4304
Editor: 203
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 * RelationalDatabase : MySql, PostgreSql, [Sqlite]  * RelationalDatabase : [MySQL], PostgreSql, [Sqlite]
Line 22: Line 22:
 * DjangoAndOracle
Line 41: Line 42:
----
Line 50: Line 52:
----
Line 57: Line 60:
----
Line 61: Line 65:

----
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)]]
Line 68: Line 75:
== 토론 ==
계속 장고에 대해 질문하게 되네요^^ 장고를 학습하기가 여의치 않습니다. django book과 공식 홈페이지의 문서를 참조중인데 완전히 독립된 [MVC]에 적응이 잘 안되네요. 어떻게 하면 장고를 효과적으로 학습할수 있을까요?
 
 ''일단 Django를 자유롭게 쓰시려면 [Python]에 익숙해지셔야 합니다. 따로 시간을 내셔서라도 [Python] 사용법을 완전히 익히시고요, [Django] 홈페이지의 튜토리얼을 몇번 그대로 따라하시면 웬만큼 하실 수 있을 듯 합니다. 그 다음에는 직접 자신만의 프로젝트를 하나 해보시기를 추천합니다. 마땅한 프로젝트가 없으시면, EnglishStudyWithDjango 프로젝트를 같이 하셔도 됩니다. 가장 효과적인 학습방법은 직접 무언가를 만들면서, 접해보는 것이라고 생각합니다.'' -- ["yong27"] [[DateTime(2007-02-12T01:51:52Z)]]
----
newforms.form_for_model 을 써서 subclassing을 하면, 제대로 되지 않는다. 즉
Line 73: Line 78:
----
Django기반으로된 게시판 혹은 블로그가 있을까요?
{{{#!python
from django import newforms as forms
IndividualForm = forms.form_for_model(Individual)
CattleForm = forms.form_for_model(Cattle)
class CattleIndividualForm(IndividualForm, CattleForm):
    pass
}}}
Line 76: Line 86:
 ''아직 국내사용자가 많지 않아서, 국내서 개발된 것은 거의 없는 듯 합니다. [Google]서 검색해보면, 몇 개 정도 눈에 띄긴 하는데, 정식 패키지로 나와있기 보다는, 개별적으로 커스터마이징해서 쓰는 듯 합니다. http://code.djangoproject.com/wiki/DjangoPoweredSites 페이지를 보시면, [Django]를 쓰는 많은 사이트들을 볼 수 있습니다.'' -- ["yong27"] [[DateTime(2007-02-11T04:08:33Z)]] 의 경우, CattleForm의 필드들은 출력되지 않는다. 찾아보니, http://code.djangoproject.com/ticket/3815 가 보고되어 있으나, 아직 적용되지 않고 있다. http://code.djangoproject.com/ticket/5050 에 첨부된 [Patch]를 적용하니 제대로 되긴 하다. 언제 적용되려나...
Line 78: Line 88:
----
PHP로만 웹개발을 한지 6개월 된것 같습니다. 사실 PHP는 웹 개발을 위한 스크립트의 형식이 강해 본인의 의지에 의하지 않으면 스파게티코드
가 될수밖에 없는 구조를 가지고 있다고 생각됩니다. 그래서 요즘 체계적인 개발과 반복적인 작업을 줄이기 위한 방편으로 프레임워크를 알아보
다 Django를 찾게 되었습니다. 그러나 궁금한 점은 Django를 통해 원하는 개발을 모두 할 수 있는지 입니다. 예를 들어 쇼핑몰을 개발한다던가,
단순한 홈페이지 형식이 아닌 웹 어플리케이션([ERP]등등)이 가능하냐는 것입니다.
-- ["yong27"] [[DateTime(2007-09-05T06:02:08Z)]]
Line 84: Line 90:
 ''물론 모두 가능합니다. [Django]가 원래 쇼핑몰같은 웹어플리케이션 같은 것들을 개발하려고 만들어진 것입니다. 최근의 웹기술들(예를 들어, [AJAX]등)도 모두 Django에서 구현이 가능합니다.'' -- ["yong27"] [[DateTime(2007-02-10T01:21:00Z)]]

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

[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


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)

토론

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


CategoryProgramLibrary

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

web biohackers.net