介绍
Django 是一个用于编写 Python Web 应用程序的强大框架。 使用像 Django 这样的全功能框架可以让您的应用程序和站点更快地启动和运行,而不必担心将它们联系在一起的通用结构代码。 框架让您专注于应用程序的独特部分,并让工具完成繁重的工作。
在本指南中,我们将演示在 CentOS 7 服务器上安装 Django 的各种方法。 安装后,我们将简要向您展示如何启动一个项目以用作您网站的基础。
安装 EPEL 存储库
我们将在下面讨论的所有安装方法都依赖于 CentOS 和类似 RedHat 发行版的 EPEL 存储库。 EPEL 存储库包含未作为核心发行版的一部分维护的额外软件包,这些软件包相当稀疏。
配置对 EPEL 存储库的访问权限比过去简单得多。 在您的服务器上,您可以通过键入以下命令配置 yum
以使用 EPEL 存储库:
sudo yum install epel-release
您现在可以访问 EPEL 存储库中维护的所有应用程序。
不同的方法
根据您的需要以及您希望如何配置开发环境,您可以通过多种不同的方式安装 Django。 这些具有不同的优势,一种方法可能比其他方法更适合您的具体情况。
一些不同的方法如下:
- 从包全局安装:EPEL 存储库包含 Django 包,可以使用传统的
yum
包管理器轻松安装。 这非常简单,但不如其他一些方法灵活。 此外,存储库中包含的版本可能落后于项目中可用的官方版本。 - 通过 pip 全局安装:
pip
工具是 Python 包的包管理器。 如果你安装了pip
,你可以很容易地在系统级别安装Django,供任何用户使用。 这应该始终包含最新的稳定版本。 即便如此,全球安装本质上不太灵活。 - 在 Virtualenv 中通过 pip 安装:Python
virtualenv
包允许您为各种项目创建自包含环境。 使用这项技术,您可以将 Django 安装在项目目录中,而不会影响更大的系统。 这使您可以轻松地提供每个项目的自定义和包。 与全局可访问的安装相比,虚拟环境增加了一些轻微的心理和过程开销,但提供了最大的灵活性。 - Development Version 通过 git 安装:如果你想安装最新的开发版本而不是稳定版本,你必须从
git
repo 获取代码。 这是获得最新功能/修复所必需的,可以在全局或本地完成。 但是,开发版本没有相同的稳定性保证。
考虑到上述注意事项和质量,请从以下说明中选择最适合您需求的安装方法。
从包全局安装
如果您希望使用 EPEL 存储库安装 Django,该过程非常简单。
您可以简单地使用 yum
包管理器来下载和安装相关包:
sudo yum install python-django
您可以通过键入以下内容来测试安装是否成功:
django-admin --version
1.6.10
这意味着该软件已成功安装。 您可能还注意到 Django 版本不是最新的稳定版本。 要了解如何使用该软件,请跳过学习如何创建示例项目。
通过 pip 全局安装
如果您希望全局安装最新版本的 Django,更好的选择是使用 Python 包管理器 pip
。 首先,我们需要安装 pip
包管理器。
您可以通过键入以下命令从 EPEL 存储库安装 pip
:
sudo yum install python-pip
一旦你有了 pip
,你可以通过键入以下命令轻松地全局安装 Django:
sudo pip install django
您可以通过键入以下内容来验证安装是否成功:
django-admin --version
1.7.5
如您所见,通过 pip
提供的版本比 EPEL 存储库中的版本更新(您的版本可能与上述不同)。
在 Virtualenv 中通过 pip 安装
也许在你的系统上安装 Django 最灵活的方法是使用 virtualenv
工具。 此工具允许您创建虚拟 Python 环境,您可以在其中安装所需的任何 Python 包,而不会影响系统的其余部分。 这允许您在每个项目的基础上选择 Python 包,而不管与其他项目的要求是否冲突。
我们将从 EPEL 存储库中安装 pip
开始:
sudo yum install python-pip
安装 pip
后,您可以使用它来安装 virtualenv
包,方法是键入:
sudo pip install virtualenv
现在,每当您开始一个新项目时,您都可以为它创建一个虚拟环境。 首先创建并移动到一个新的项目目录:
mkdir ~/newproject cd ~/newproject
现在,通过键入以下内容在项目目录中创建一个虚拟环境:
virtualenv newenv
这会将 Python 的独立版本以及 pip
安装到项目目录中的隔离目录结构中。 我们选择将我们的虚拟环境称为 newenv
,但您应该将其命名为描述性的。 将使用您选择的名称创建一个目录,该目录将保存安装包的文件层次结构。
要将软件包安装到隔离环境中,您必须通过键入以下命令来激活它:
source newenv/bin/activate
您的提示应该更改以反映您现在处于虚拟环境中。 它看起来像 (newenv)username@hostname:~/newproject$
。
在您的新环境中,您可以使用 pip
来安装 Django。 请注意,您 不需要 需要使用 sudo
,因为您是在本地安装:
pip install django
您可以通过键入以下内容来验证安装:
django-admin --version
1.7.5
要离开您的虚拟环境,您需要从系统上的任何位置发出 deactivate
命令:
deactivate
您的提示应该恢复到常规显示。 当您希望再次处理您的项目时,您应该重新激活您的虚拟环境,方法是回到您的项目目录并激活:
cd ~/newproject source newenv/bin/activate
开发版通过git安装
如果您需要 Django 的开发版本,则必须从其 git
存储库下载并安装 Django。
为此,您需要使用 yum
在您的系统上安装 git
。 我们还将安装 pip
Python 包管理器。 下载后,我们将使用它来处理 Django 的安装:
sudo yum install git python-pip
拥有 git
后,您可以克隆 Django 存储库。 在发布之间,此存储库将具有更多最新功能和错误修复,但可能会牺牲稳定性。 您可以通过键入以下命令将存储库克隆到主目录中名为 django-dev
的目录:
git clone git://github.com/django/django ~/django-dev
克隆存储库后,您可以使用 pip
安装它。 我们将使用 -e
选项以“可编辑”模式安装,这是从版本控制安装时需要的:
sudo pip install -e ~/django-dev
您可以通过键入以下内容来验证安装是否成功:
django-admin --version
1.9.dev20150305200340
请注意,如果您希望在单个环境中安装 Django 的开发版本,您也可以将此策略与上面的 virtualenv
结合使用。
创建示例项目
现在您已经安装了 Django,我们可以简要地向您展示如何开始一个项目。
您可以使用 django-admin
命令创建项目:
django-admin startproject projectname cd projectname
这将在您的当前目录中创建一个名为 projectname
的目录。 在其中,将创建一个管理脚本,并使用实际代码创建另一个名为 projectname
的目录。
注意:如果您已经在为使用 virtualenv
命令创建的项目目录中,您可以告诉 Django 将管理脚本和内部目录放入当前目录,而无需额外的通过键入此图层(注意结束点):
django-admin startproject projectname .
要在更新版本的 Django 上引导数据库(默认情况下使用 SQLite),您可以键入:
python manage.py migrate
如果 migrate
命令不起作用,您可能使用的是旧版本的 Django(可能是 instal. 相反,您可以键入:
python manage.py syncdb
作为此过程的一部分,您将被要求创建一个管理用户。 选择用户的用户名、电子邮件地址和密码。
如果您使用上面的 migrate
命令,则需要手动创建管理用户。 您可以通过键入以下内容来创建管理用户:
python manage.py createsuperuser
系统将提示您输入用户名、电子邮件地址和用户密码。
一旦你有了一个用户,你就可以启动 Django 开发服务器来看看一个新的 Django 项目是什么样子的。 您应该仅将其用于开发目的。 跑:
python manage.py runserver 0.0.0.0:8000
访问您的服务器的 IP 地址,然后在您的网络浏览器中访问 :8000
server_ip_address:8000
您应该会看到如下所示的内容:
现在,将 /admin
附加到 URL 的末尾以访问管理员登录页面:
server_ip_address:8000/admin
如果您输入刚刚创建的管理员用户名和密码,您应该会被带到该站点的管理员部分:
浏览完默认站点后,您可以通过在终端中键入 CTRL-C
来停止开发服务器。
您创建的 Django 项目为设计更完整的站点提供了结构基础。 查看 Django 文档以获取有关如何构建应用程序和自定义站点的更多信息。
结论
您现在应该在您的 CentOS 7 服务器上安装了 Django,它提供了创建强大的 Web 应用程序所需的主要工具。 您还应该知道如何启动一个新项目并启动开发人员服务器。 利用像 Django 这样的完整 Web 框架可以帮助加快开发速度,让您只专注于应用程序的独特方面。