ʹÓà Django ºÍ Python ¿ª·¢ Web Õ¾µã
Ian Maurer (ian@itmaurer.com), ×ÊÉî¹ËÎÊ, Brulant, Inc.
2006 Äê 7 ÔÂ 03 ÈÕ
±¾ÏµÁÐÎÄÕÂÒ»¹²ÓÐÁ½Æª£¬±¾ÎÄÊÇÆäÖеĵÚһƪ¡£ÔÚÕâһƪÎÄÕÂÖУ¬ÎÒÃǽ«Õ¹Ê¾ Django µÄÓ÷¨£¬Django ÊÇ Python ±à³ÌÓïÑÔÇý¶¯µÄÒ»¸ö¿ªÔ´Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷£¨MVC£©·ç¸ñµÄ Web Ó¦ÓóÌÐò¿ò¼Ü¡£Ê¹Óà Django£¬ÎÒÃÇÔÚ¼¸·ÖÖÓÖ®ÄھͿÉÒÔ´´½¨¸ßÆ·ÖÊ¡¢Ò×ά»¤¡¢Êý¾Ý¿âÇý¶¯µÄÓ¦ÓóÌÐò¡£
Django ÏîÄ¿ÊÇÒ»¸ö¶¨ÖÆ¿ò¼Ü£¬ËüÔ´×ÔÒ»¸öÔÚÏßÐÂÎÅ Web Õ¾µã£¬ÓÚ 2005 ÄêÒÔ¿ªÔ´µÄÐÎʽ±»ÊͷųöÀ´¡£Django ¿ò¼ÜµÄºËÐÄ×é¼þÓУº
ÓÃÓÚ´´½¨Ä£Ð͵ĶÔÏó¹ØÏµÓ³Éä
Ϊ×îÖÕÓû§Éè¼ÆµÄÍêÃÀ¹ÜÀí½çÃæ
Ò»Á÷µÄ URL Éè¼Æ
Éè¼ÆÕßÓѺõÄÄ£°åÓïÑÔ
»º´æÏµÍ³
±¾ÎÄÊÇÓÐ¹Ø Python Web ¿ò¼ÜµÄÓÉÁ½ÆªÎÄÕÂ×é³ÉµÄϵÁÐÎÄÕµĵÚһƪ¡£µÚ¶þƪÎÄÕ½«ÏòÄú½éÉÜ TurboGears ¿ò¼Ü¡£
ҪʹÓò¢Àí½â±¾ÎÄÖÐÌṩµÄ´úÂ룬ÔòÐèÒª°²×° Python£¬²¢Á˽âÔÚ³õѧÕßµÄˮƽÉÏÈçºÎʹÓà Python¡£Òª²é¿´ÊÇ·ñ°²×°ÁË Python ÒÔ¼° Python µÄ°æ±¾ºÅ£¬¿ÉÒÔÊäÈë python -V¡£Django ÖÁÉÙÐèÒª 2.3.5 °æ±¾µÄ Python£¬¿ÉÒÔ´Ó Python Web Õ¾µãÉÏÏÂÔØËü£¨¹ØÓÚÁ´½ÓÇë²ÎÔı¾ÎĺóÃæ ²Î¿¼×ÊÁÏ ²¿·Ö£©¡£ÎÒÃÇÖÁÉÙ»¹Ó¦¸Ã˳±ãÊìϤһÏ MVC ¼Ü¹¹¡£
±¾ÎÄʹÓÃÁË Django µÄ¿ª·¢°æ±¾£¬ÒÔ±ãÄܹ»ÀûÓà Django ¿ò¼ÜµÄ×îиĽø¡£½¨ÒéÄúÔÚ 0.95 °æÕýʽ·¢²¼Ö®Ç°Ê¹ÓÃÕâ¸ö°æ±¾¡£¹ØÓÚ×îз¢Ðа汾£¬Çë²ÎÔÄ Django µÄ Web Õ¾µã£¨ÔÙ´ÎÇëÄú²ÎÔÄ ²Î¿¼×ÊÁÏ À´»ñµÃÁ´½Ó£©¡£
°´ÕÕÒÔϲ½ÖèÏÂÔØ²¢°²×° Django£º
~/downloads# svn co http://code.djangoproject.com/svn/django/trunk/ django_src
~/downloads# cd django_src
~/downloads# python setup.py install
ÔÚ°²×° Django Ö®ºó£¬ÄúÏÖÔÚÓ¦¸ÃÒѾÓÐÁË¿ÉÓõĹÜÀí¹¤¾ß django-admin.py¡£Çåµ¥ 2 ¸ø³öÁËÕâ¸ö¹ÜÀí¹¤¾ßÖпÉÒÔʹÓõÄһЩÃüÁ
~/dev$ django-admin.py
usage: django-admin.py action [options]
actions:
adminindex [modelmodule ...]
Prints the admin-index template snippet for the given model
module name(s).
... snip ...
startapp [appname]
Creates a Django app directory structure for the given app name
in the current directory.
startproject [projectname]
Creates a Django project directory structure for the given
project name in the current directory.
validate
Validates
Ïà¹ØÎĵµ£º
PythonÖÐÎļþ²Ù×÷¿ÉÒÔͨ¹ýopenº¯Êý£¬ÕâµÄÈ·ºÜÏñCÓïÑÔÖеÄfopen¡£Í¨¹ýopenº¯Êý»ñȡһ¸öfile object£¬È»ºóµ÷ÓÃread()£¬write()µÈ·½·¨¶ÔÎļþ½øÐжÁд²Ù×÷¡£
1.open
ʹÓÃopen´ò¿ªÎļþºóÒ»¶¨Òª¼ÇµÃµ÷ÓÃÎļþ¶ÔÏóµÄclose()·½·¨¡£±ÈÈç¿ÉÒÔÓÃtry/finallyÓï¾äÀ´È·±£×îºóÄܹرÕÎļþ¡£
file_object = open('thefile.txt')
......
ÔÎÄ
http://www.hetland.org/python/instant-hacking.php
Instant Hacking[Òë
ÎÄ]
ÒëÕߣº ¿Ï¶¨À´¹ý   ......
Òª´´½¨ÄãµÄapp£¨½«djangoÅäÖõ½»·¾³±äÁ¿Ï£©
python manage.py startapp polls
ËüÃǽ«»á´´½¨Ò»¸öpollsÎļþ¼Ð£¬ÀïÃæµÄÄÚÈÝÊÇ£º
¡¡¡¡polls/
¡¡¡¡¡¡¡¡__init__.py
¡¡¡¡¡¡¡¡models.py
¡¡¡¡¡¡¡¡views.py
Õâ¸öĿ¼½á¹¹¾ÍÊÇappÓ¦ÓóÌÐò¡£
±àдÊý¾Ý¿âWebÓ¦ÓóÌÐòµÄµÚÒ»²½ÊǶ¨ÒåÄãµÄÄ£ÐͲ㗗»ù±¾ÉϾÍÊÇÄãµÄÊý¾Ý¿ ......
½âѹdjango£¬È»ºóµ½ÆäĿ¼Ï°²×°
ǰÌáÊÇÄã°²×°ºÃpython.²¢½«ÆäÅäÖõ½»·¾³±äÁ¿ÖУ¬È»ºóÈ¥djangoµÄѹËõÎÄÐÞµÄÏ£¬Ö´ÐÐÒÔϵ¹ÃüÁî
python setup.py install
1.´´½¨project
Ê×ÏÈÎÒÃÇ´ò¿ªcmd, ¶¨Î»µ½Ï£Íûн¨¹¤³ÌµÄĿ¼ÏÂ, ÈÎÒâĿ¼¾ù¿É. È»ºó¼üÈëÈçÏÂÃüÁî:
django-admin.py startproject helloÆäÖÐhelloΪй¤³ÌĿ¼ÎļþÃû ......
ÔÚ³ÌÐòÖÐʹÓÃÅäÖÃÎļþÀ´Áé»îµÄÅäÖÃһЩ²ÎÊýÊÇÒ»¼þºÜ³£¼ûµÄÊÂÇ飬ÅäÖÃÎļþµÄ½âÎö²¢²»¸´ÔÓ£¬ÔÚpythonÀï¸üÊÇÈç´Ë£¬ÔÚ¹Ù·½·¢²¼µÄ¿âÖоͰüº¬ÓÐ×öÕâ¼þÊÂÇé
µÄ¿â£¬ÄǾÍÊÇConfigParser£¬ÕâÀï¼òµ¥µÄ×öһЩ½éÉÜ¡£
ConfigParser½âÎöµÄÅäÖÃÎļþµÄ¸ñʽ±È½ÏÏóiniµÄÅäÖÃÎļþ¸ñʽ£¬¾ÍÊÇÎļþÖÐÓɶà¸ösection¹¹³É£ ......