β

Python Web框架Django的开始之旅--Runnable

龙浩的blog 237 阅读

Django是简介:


    Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的设计模式,即模型M,模版T和视图控制器V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
    Django的主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don't Repeat Yourself)。在Django中Python被普遍使用,甚至包括配置文件和数据模型。更多信息在这里

Django安装


    安装Django之间你必须安装python,到python.org(千万别到python.com上,别怪我没有告诉你)上去下载2.3以上,3.0以下的版本(3.x的版本不向下兼容,目前django还不支持)。到http://www.djangoproject.com/download/下载最新的django1.0.2的gz包,
在linux下的安装为:
    1:tar xzvf Django-1.0.2-final.tar.gz
    2:cd Django-1.0.2-final
    3:sudo python setup.py install
在windows下面的安装方式为:
    1:进入命令行;转到django的解压缩目录
    2:输入:C:\Python25\python.exe setup.py install 就可以了,这里的python.exe是自己的的python在windows下的安装目录。

开发前准备工作


    1:django支持的数据库
    在web开发之旅中,摆脱数据库总是不太现实,所以需要了解一下django支持的数据库,目前django支持5中数据库:OracleMySQLPostgreSQL SQLite 3Microsoft SQL Server
    Oracle和Django的结合
    目前支持oracle 9i以上的版本,你需要到http://cx-oracle.sourceforge.net/下载cx-oracle包来提供相关的支持。
    Mysql和Django的结合
    支持Mysql4.0以上的版本,需要到http://sourceforge.net/projects/mysql-python下载mysql-python包。
    其他数据库工作中很少关注,如果想继续关注请google一下。
2:web服务器的安装
    (1)到www.modpython.org下载mod_python包,安装中会自动找到你的python安装目录和apache的安装目录,如果提示没有找到,就需要你选择一下相关的安装目录,如果错误会自动退出安装。
    (2)在apache的httpd.conf中添加相关的配置:
   在<IfModule alias_module></IfModule> 中间添加相关的配置,注意你的apache的版本号对应的相关的配置。
    LoadModule python_module modules/mod_python.so
    <Directory "E:/python/web">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        allow from all
        Satisfy all
        AddHandler mod_python .py
        PythonHandler test
        PythonDebug On
    </Directory>
    (3)测试一下你的服务器,在目录E:/python/web下面新建test.py,内容如下:
    from mod_python import apache

def handler(req):
  req.write("Hello World!")
  return apache.OK

启动apache服务器,在浏览器中输入http://localhost/python/test.py,现实Hello World!则代表服务器启动了。

开始django之旅


    (1)到django的安装目录(C:\Python25\Lib\site-packages\django\bin),执行C:/Python25/python.exe django-admin.py startproject mydjango 然后在安装目录下面会有4个文件,分别是:__init__.py (可以向Python编译器表明当前文件夹下的内容是Python工程模块) ;manage.py (一个命令行工具,可以让你以多种方式与Django项目交互);setting.py (Django项目的配置 );urls.py (负责配置URL的地址映射以及管理URL的地址格式 )Python代码不要放在document root下 ,因为这样做别人可以从Web看到你的代码;把代码放在document root以外的目录,如/opt/mydjango。
    (2)在命令模式下执行:
        C:\Python25\Lib\site-packages\django\bin>cd mydjango
        C:\Python25\Lib\site-packages\django\bin\mydjango>C:/Python25/python.exe manage.py runserver
        Validating models...
        0 errors found
        Django version 1.0.2 final, using settings 'mydjango.settings'
        Development server is running at http://127.0.0.1:8000/
        Quit the server with CTRL-BREAK.
    在浏览器中看到相关的内容,就说明启动了Django应用服务器,如果你的代码有改动,它自动reload,不需要重启项目。默认情况下runserver命令启动服务器的端口为8000,只监听本地连接
    如果你希望改变端口,增加一个命令行参数即可:
        C:/Python25/python.exe manage.py runserver 8080
    你也可以改变服务器监听的IP地址:
        C:/Python25/python.exe manage.py runserver 0.0.0.0:8080
    后面你就可以自己写python的代码。

推荐2本django的电子书籍


    1:django step by step
    2:The Django Book      中文版翻译在这里
    如果你python还没有学习的话,请买本《python核心编程第二版》读读吧!

配置过程中可能的问题


1:在windows的命令模式下执行 python 报错:
计算机的属性》高级》计算机环境变量》path中添加C:\Python25(python安装目录)
2:403错误,查找apache下面的error日志:
client denied by server configuration
apache2.0和2.2的配置文件不一样。
2.0:
Options FollowSymLinks
AllowOverride None
2.2:
Options FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all   这个地方需要修改为allow from all
Satisfy all

作者:龙浩的blog
原文地址:Python Web框架Django的开始之旅--Runnable, 感谢原作者分享。