如何安装Django

在本教程中,我们将设置一个Django开发环境。我们将安装Python 3,pip 3,Django和virtualenv,以便为您提供使用Django开发Web应用程序所需的工具。

介绍

Django是一个以Python编写的免费开源Web框架,它遵循模型模板视图(MTV)软件体系结构模式。 MTV模式是Django对模型视图控制器(MVC)模式的支持。 根据Django软件基金会的说明,该模型是数据的唯一定义来源,该视图描述了通过Python回调函数向用户表示的特定URL的数据,该模板是Django动态生成HTML的方式。

Django的核心原则是可扩展性,可重用性和快速开发。 它的框架级一致性和松散耦合也是众所周知的,允许各个组件彼此独立。 不要重复( DRY编程 )是Django原则的组成部分。

在本教程中,我们将设置一个Django开发环境。 我们将安装Python 3,pip 3,Django和virtualenv ,以便为您提供使用Django开发Web应用程序所需的工具。

先决条件

在Debian或Ubuntu Linux服务器上设置了具有sudo权限的非root用户帐户。 您可以通过跟踪和完成Debian 8初始服务器设置Ubuntu 16.04教程的初始服务器设置中的第1步-4来实现这些先决条件。

第1步 - 安装Python和pip

要安装Python,我们必须先更新本地APT存储库。 在您的终端窗口中,我们将输入以下命令。 请注意, -y标志在升级过程中回答“是”提示。 如果要升级为每个提示停止,请移除该标志。

sudo apt-get update && sudo apt-get -y upgrade

当提示配置grub-pc ,可以按ENTER接受默认值,或者根据需要进行配置。

Django Software Foundation推荐使用Python 3,所以一旦更新,我们就可以使用以下命令安装Python 3:

sudo apt-get install python3

要验证Python 3的成功安装,请使用python3命令运行版本检查:

python3 -V

结果输出将类似于:

python 3.5.2

现在我们已经安装了Python 3,为了从PyPi,Python的软件包库中安装软件包,我们还需要点数

sudo apt-get install -y python3-pip

要验证pip是否已成功安装,请运行以下命令:

pip3 -V

你应该看到类似的输出:

pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

现在我们已经安装了pip,我们有能力为Python环境快速安装其他必需的软件包。

第2步 - 安装virtualenv

virtualenv是一个虚拟环境 ,您可以在包含的开发空间中安装软件和Python软件包,从而将已安装的软件和软件包与机器的其他全局环境隔离开来。 这种方便的隔离可以防止冲突的软件包或软件彼此进行交互。

要安装virtualenv,我们将使用pip3命令,如下所示:

pip3 install virtualenv

安装完成后,运行版本检查以验证安装是否已成功完成:

virtualenv --version

我们应该看到以下输出,或类似的东西:

15.1.0

您已经成功安装了virtualenv

在这一点上,我们可以将Django Web应用程序及其相关的软件依赖关系从我们系统上的其他Python包或项目中分离出来。

第3步 - 安装Django

有三种方法来安装Django。 我们将使用本教程的pip安装方法,但是我们将介绍所有可用的选项以供参考。

  • 选项1:在virtualenv安装Django。
    当您需要将Django版本与服务器的全局环境隔离时,这是非常理想的。

  • 选项2:从源安装Django。
    如果您想要最新的软件或想要比Ubuntu APT存储库提供的新内容,可以直接从源安装。 请注意,如果希望您的软件版本更新,选择此安装方法需要持续的关注和维护。

  • 选项3:使用pip在全球安装Django。
    我们正在进行的选择是pip 3,因为我们将在全球安装Django。

使用pip安装Django需要一行命令,如下所示:

sudo pip3 install django

一旦安装,通过运行版本检查来验证您的Django安装:

django-admin --version

这或类似的东西将是产生的结果:

1.11.3

在您的服务器上安装Django后,我们可以继续创建测试项目,以确保一切正常。

第4步 - 创建Django测试项目

要测试Django安装,我们将创建一个骨架Web应用程序。

设置防火墙规则

首先,如果适用,我们需要打开我们在服务器防火墙中使用的端口。 如果您正在使用UFW(如初始服务器设置指南中所述 ),则可以使用以下命令打开该端口:

sudo ufw allow 8000

如果您使用DigitalOcean防火墙,则可以从入站规则中选择HTTP 您可以阅读有关DigitalOcean防火墙的更多信息,并通过阅读介绍性教程入站规则部分为他们创建规则。

为项目创建目录

接下来我们需要创建项目所在的目录:

mkdir test_django_app

然后我们应该导航到该目录开始我们的工作:

cd test_django_app/

在这个目录下,我们可以开始启动我们的Django测试项目。

启动项目

我们现在可以使用django-admin生成一个应用程序,这是用于Python中管理任务的命令行实用程序。 然后我们可以使用startproject命令为我们的测试网站创建项目目录结构。

test-django-app目录中,运行以下命令:

django-admin startproject testsite

注意:运行django-admin startproject <projectname>命令会将项目目录和项目包命名为<projectname>并在运行命令的目录中创建项目。 如果提供了可选的<destination>参数,Django将使用提供的目标目录作为项目目录,并在其中创建manage.py和项目包。

现在我们可以看看刚刚创建的项目文件。 导航到testsite目录,然后列出该目录的内容以查看创建的文件:

cd testsite
ls
manage.py  testsite

您将注意到显示此目录的输出包含名为manage.py的文件和名为testsite的文件夹。 manage.py文件类似于django-admin ,并将项目的包放在sys.path 这也将DJANGO_SETTINGS_MODULE环境变量设置为指向项目的settings.py文件。

您可以通过运行less命令来查看终端中的manage.py脚本:

less manage.py

完成阅读脚本后,按q ,退出查看文件。

现在导航到testsite目录以查看创建的其他文件:

cd testsite/

然后运行以下命令列出目录的内容:

ls

你会看到四个文件:

__init__.py  settings.py  urls.py  wsgi.py

我们来看看这些文件是什么:

  • __init__.py充当您的Python项目的入口点。
  • settings.py描述了Django安装的配置,让Django知道哪些设置可用。
  • urls.py包含一个urlpatterns列表,用于将URL和URL映射到其views
  • wsgi.py包含Web服务器网关接口的配置。 Web服务器网关接口( WSGI )是部署Web服务器和应用程序的Python平台标准。

注意:虽然生成了默认文件,但您仍然可以随时调整wsgi.py以适应部署需求。

开始并查看您的网站

现在我们可以通过运行runserver命令启动服务器并在指定的主机和端口上查看该网站。

我们需要将您的服务器IP地址添加到位于~/test_django_app/testsite/testsite/中的settings.py文件中的ALLOWED_HOSTS列表中。

Django文档所述, ALLOWED_HOSTS变量包含“表示此Django站点可以提供的主机/域名的字符串列表。 这是防止HTTP主机头部攻击的安全措施,即使在许多看似安全的Web服务器配置下也是如此。

您可以使用自己喜欢的文本编辑器来添加您的IP地址。 例如,如果您使用nano ,只需运行以下命令:

nano ~/test_django_app/testsite/testsite/settings.py

运行命令后,您将需要导航到文档的“允许的主机”部分,并将其服务器的IP地址添加到单括号或双引号内的方括号内。

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 1.11.3.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...

您可以通过按住CTRL + x键然后按y键来保存更改并退出nano。

完成此操作后,请确保返回到manage.py所在的目录:

cd ~/test_django_app/testsite/

现在,运行以下命令将your-server-ip文本替换为服务器的IP:

python3 manage.py runserver your-server-ip:8000

最后,您可以浏览以下链接,查看您的骨架网站的外观,再次用服务器的实际IP替换突出显示的文字:

http://your-server-ip:8000/

页面加载后,您将看到以下内容:

Django默认页面

这证实Django已正确安装,我们的测试项目正常工作。

结论

在本教程中,您已经通过Ubuntu APT存储库成功升级到可用的最新版本的Python 3。 您还安装了pip 3, virtualenvdjango

您现在有了开始构建Django Web应用程序所需的工具。


分享按钮