简介
在Debian上安装配置
我的个人计算机使用Debian系统,在Debian上安装配置Django也很简单。需要 mysql,apache,django。
aptitude install mysql-server mysql-client aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-python aptitude install python-django python-mysqldb
创建Django项目
# pwd /root/doc/ylinux.org/ylinux_org/htdocs # django-admin startproject ylinux # ls ylinux index.html __init__.py jianlee manage.py settings.py urls.py
上面在当前目录创建 ylinux 目录,其中的urls.py,settings.py文件中可能使 用项目名字作为python import 模块名前缀,如果我们把ylinux目录里的文件都 拷贝到其他路径去使用会出错。需要手动修改其中模块导入路径。
修改 /etc/apache2/sites-available/default 文件,添加:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonDebug On
PythonPath "['/root/doc/ylinux.org/ylinux_org/htdocs/'] + sys.path"
</Location>
...
Alias /ylinux "/root/doc/ylinux.org/ylinux_org/htdocs"
<Directory "/root/doc/ylinux.org/ylinux_ort/htdocs">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
...
把上面的 ylinux 目录中所有文件拷贝到 /root/doc/ylinux.org/ylinux_org/htdocs/ 下,并修改import路径(删除所有 ylinux字眼)。重启apache2,在浏览器输 入:http://172.16.70.40/ylinux/manage.py 即可。
开始一个项目
如果这是你第一次使用Django,你必须注意一些初始化过程运行 “django-admin.py startproject mysite”将会在你的当前目录下创建一个 mysite目录
让我们看看startproject创建了什么:
/mysite/ __init__.py manage.py settings.py urls.py
这些文件的说明如下:
- manage.py
- 一个命令行工具,可以让你以多种方式与Django项目交互
- setting.py
- Django项目的配置
- urls.py
- Django项目的URL定义
如果你使用PHP,你可能习惯于将代码放在Web服务器的document root下,如 /var/www。使用Django的话不要这样做,将Python代码放在document root下不是一 个好主意因为这样的话人们可能从Web看到你的代码,这并不安全把你的代码放在 document root以外的目录,如/home/mycode
启用开发用服务器
这是一个包含在Django中的开发阶段使用的轻量级Web服务器
# python manage.py runserver Validating models... 0 errors found Django version 1.1, using settings 'htdocs.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. [10/Aug/2009 04:57:53] "GET / HTTP/1.1" 500 58190 ...
这个服务器查看你的代码,如果有改动,它自动reload,让你不需重启快速修改 你的项目虽然这个开发用服务器对于开发来说简直棒透了,还是请克制一下把它 用在任何形式的生产环境中的冲动。
这个服务器一次只能可靠地处理一个请求,而且根本没有经过任何安全性的检验 如果你的站点需要上线,请参考第21章的关于部署Django程序的介绍 默认情况下runserver命令启动服务器的端口为8000,只监听本地连接 如果你希望改变端口,增加一个命令行参数即可
python manage.py runserver 8080
你也可以改变服务器监听的IP地址,当你同其它开发者分享一个开发站点时很有用
python manage.py runserver 0.0.0.0:8080
上面的命令使得Django监听任何网络接口,这样的话就允许其它计算机连接该服务器 试着访问http://127.0.0.1:8000/,你将会看到“Welcome to Django”的页面
我的第一Django页面
保存下面程序为 myutils.py 文件:
from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "It is now %s." % now return HttpResponse(html)
