ʹÓà 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
Ïà¹ØÎĵµ£º
ΪÁËÑ¡ÔñÒ»¸öºÏÊʵĽű¾ÓïÑÔѧϰ£¬½ñÌì²éÁ˲»ÉÙÓйØPerl£¬Python£¬Ruby£¬JavascriptµÄ¶«Î÷£¬¿ÉÊÇ·¢ÏÖ¸÷´óÕóÓªµÄÈ˶¼ÔÚ´µÅõ×Ô¼ºÏ²»¶µÄÓïÑÔ£¬²»¹ý×îûÓÐÕùÒéµÄÓ¦¸ÃÊÇJavascriptÏֽ׶λ¹²»ÊʺÏÓÃÀ´×ö¶ÀÁ¢¿ª·¢£¬ËüµÄÌìÏ»¹ÊÇÔÚwebÓ¦ÓÃÉÏ¡£ ÎÒÖ÷ÒªÊÇÏë×öÊý¾ÝÍÚ¾òËã·¨µÄÑо¿£¬Ó¦¸Ã»á´¦Àí´óÁ¿µÄÎı¾¡£Ìáµ½Îı¾´¦Àí£¬ÏàÐŴ󲿷ÖÈË ......
urlÅäÖÃ
ÎÒÃÇÔÚpollsÕâ¸öappÏ´´½¨Ò»¸ö
helloworld.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django.")
ÐÞ¸Ä urls.py
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
# from django.contrib ......
Òª´´½¨ÄãµÄapp£¨½«djangoÅäÖõ½»·¾³±äÁ¿Ï£©
python manage.py startapp polls
ËüÃǽ«»á´´½¨Ò»¸öpollsÎļþ¼Ð£¬ÀïÃæµÄÄÚÈÝÊÇ£º
¡¡¡¡polls/
¡¡¡¡¡¡¡¡__init__.py
¡¡¡¡¡¡¡¡models.py
¡¡¡¡¡¡¡¡views.py
Õâ¸öĿ¼½á¹¹¾ÍÊÇappÓ¦ÓóÌÐò¡£
±àдÊý¾Ý¿âWebÓ¦ÓóÌÐòµÄµÚÒ»²½ÊǶ¨ÒåÄãµÄÄ£ÐͲ㗗»ù±¾ÉϾÍÊÇÄãµÄÊý¾Ý¿ ......
Ê×ÏÈ, ˵˵pythonÀïÃæµÄ±Õ°ü°É:
1. ÐèÒªº¯ÊýǶÌ×, ¾ÍÊÇÒ»¸öº¯ÊýÀïÃæÔÙдһ¸öº¯Êý.
2. Íⲿº¯ÊýÐèÒª·µ»ØÒ»¸öÄÚ²¿º¯ÊýµÄÒýÓÃ
3. Íⲿº¯ÊýÖÐÓÐһЩ¾Ö²¿±äÁ¿, ²¢ÇÒ, ÕâЩ¾Ö²¿±äÁ¿ÔÚÄÚ²¿º¯ÊýÖÐÓÐʹÓÃ
¸ÅÄî:
1. ×ÔÓɱäÁ¿: Íⲿº¯ÊýÖж¨ÒåµÄ¾Ö²¿±äÁ¿, ²¢ÇÒÔÚÄÚ²¿º¯ÊýÖб»Ê¹ÓÃ.
2. ±Õ°ü: ÄǸöʹÓÃÁË×ÔÓɱäÁ¿²¢±»·µ»ØµÄÄÚ²¿º¯Ê ......