IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    longhao (longtask@gmail.com)发表于 2009-03-15 19:32:08
    love 0

    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中数据库:Oracle,MySQL ,PostgreSQL ,SQLite 3 ,Microsoft 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

     



沪ICP备19023445号-2号
友情链接