Django 入门:创建项目与启动开发服务器
本文指导 Django 初学者完成首个项目的初始化设置。内容涵盖项目目录的安全存放原则、使用 django-admin.py 创建项目结构、理解核心文件(settings.py, urls.py 等)的作用,以及如何启动和配置本地开发服务器,包括端口修改与网络访问设置。
在确保 Python、Django 以及可选的数据库和相关库均已安装完毕后,你可以通过创建一个项目来迈出开发 Django 应用的第一步。
所谓“项目”,是指 Django 实例中一系列配置设置的集合,它涵盖了数据库配置、Django 特定选项以及应用程序的具体设置。
如果你是 Django 的新手,需要进行一些初始化设置。首先新建一个工作目录,例如 /home/username/djcode/,然后进入该目录。
这个目录应该放在哪里?
如果你有 PHP 编程背景,可能习惯于将代码放置在 Web 服务器的文档根目录(如 /var/www)中。但在 Django 中,将 Python 代码与 Web 服务器的文档根目录放在一起并不是一个好主意,因为这可能导致源代码通过互联网暴露的风险,后果严重。
因此,应将代码放置在文档根目录之外的其他目录中。
进入你创建的目录,运行命令 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。
如果在运行时遇到权限拒绝的提示,你需要修改该文件的权限。为此,键入 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 命令。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













