开始着手第一个Django项目
项目 是 Django 实例的一系列设置的集合,它包括数据库配置、Django 特定选项以及应用程序的特定设置。
如果第一次使用 Django,必须进行一些初始化设置工作。 新建一个工作目录,例如 /home/username/djcode/ ,然后进入该目录。
这个目录应该放哪儿?
有过 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档根目录 (例如 /var/www 这样的地方)。 而在 Django 中,把任何Python代码和web server的文档根(root)放在一起并不是一个好主意。因为这样做有使人能通过网路看到你原代码的风险. 那就太糟了。
把代码放置在文档根目录 之外 的某些目录中。
转到你创建的目录,运行命令django-admin.py startproject mysite。这样会在你的当前目录下创建一个目录。mysite
注意
如果用的是 setup.py 工具安装的 Django , django-admin.py 应该已被加入了系统路径中。
如果你使用一个trunk版本,你会在 djtrunk/django/bin 下发现 django-admin.py 。你将来会常用到django-admin.py,考虑把它加到你的系统路径中去比较好。 在Unix中, 你也可以用来自/usr/local/bin 的符号连接, 用一个命令, 诸如
sudo ln -s /path/to/django/bin/django-admin.py /usr/local/bin/django-admin.py
. 在Windows中, 你需要修改你的 PATH 环境变量.
如果你的django是从linux发行版中安装的,那么,常会被django-admin.py替代。django-admin
如果在运行时,你看到权限拒绝的提示,你应当修改这个文件的权限。django-admin.py startproject 为此, 键入 cd /usr/local/bin转到django-admin.py所在的目录,运行命令chmod +x django-admin.py
startproject 命令创建一个目录,包含4个文件:
mysite/ __init__.py manage.py settings.py urls.py
文件如下:
- __init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
- manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
- settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。
- urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。
尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
运行开发服务器
为了安装后更多的体验,让我们运行一下django开发服务器看看我们的准系统。
django开发服务是可用在开发期间的,一个内建的,轻量的web服务。 我们提供这个服务器是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。 开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。
如果你还没启动服务器的话,请切换到你的项目目录里 (cd mysite ),运行下面的命令:
python manage.py runserver
你会看到些像这样的
Validating models... 0 errors found. Django version 1.0, using settings 'mysite.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
这将会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问。 既然服务器已经运行起来了,现在用网页浏览器访问 http://127.0.0.1:8000/ 。 你应该可以看到一个令人赏心悦目的淡蓝色Django欢迎页面。 它开始工作了。
在进一步学习之前, 一个重要的,关于开发网络服务器的提示很值得一说。 虽然 django 自带的这个 web 服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。 在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。 发布站点前,请参阅第 20 章了解如何部署 Django 。
更改这个 Development Server 的主机地址或端口
默认情况下, runserver 命令在 8000 端口启动开发服务器,且仅监听本地连接。 要想要更改服务器端口的话,可将端口作为命令行参数传入:
python manage.py runserver 8080
通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。 如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。 `` 0.0.0.0`` 这个 IP 地址,告诉服务器去侦听任意的网络接口。
python manage.py runserver 0.0.0.0:8000
完成这些设置后,你本地网络中的其它计算机就可以在浏览器中访问你的 IP 地址了。比如: http://192.168.1.103:8000/ . (注意,你将需要校阅一下你的网络配置来决定你在本地网络中的IP 地址) Unix用户可以在命令提示符中输入ifconfig来获取以上信息。 使用Windows的用户,请尝试使用 ipconfig 命令。