如何在 Ubuntu 16.04 上安装 Django 并设置开发环境

介绍

Django 是以 Python 编写的免费和开源的 Web 框架,它遵循了 model template view (MTV) 软件架构模式。MTV 模式是 Django 采用了 model–view–controller (MVC)模式。根据 Django 软件基金会, model 是您的数据的唯一最终来源, view 描述了通过 Python 召回函数(https://andsky.com/tech/tutorials/how-to-define-functions-in-python-3)向特定 URL 提供给用户的数据,以及 template 是 Django 如何动态地生成 HTML。

Django的核心原则是可扩展性、可重复使用性和快速发展,它也以其框架层面的一致性和宽松的连接而闻名,允许单个组件相互独立。

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

前提条件

在 Debian 或 Ubuntu Linux 服务器上设置了具有sudo权限的非根用户帐户. 您可以通过遵循和完成 Debian 8 的初始服务器设置,或在 Ubuntu 16.04 的初始服务器设置教程中的步骤 1-4 来实现这些前提。

步骤1:安装Python和Pip

要安装Python,我们必须先更新本地APT存储库。在您的终端窗口,我们将输入以下命令。 请注意,y旗在升级过程中对提示表示

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

当被要求配置grub-pc时,您可以按ENTER来接受默认值,或根据需要进行配置。

Django 软件基金会建议使用 Python 3,因此一旦更新,我们可以使用以下命令安装 Python 3:

1sudo apt-get install python3

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

1python3 -V

结果的结果将看起来像这样:

1[secondary_label Output]
2python 3.5.2

现在我们已经安装了Python 3,我们还需要 pip 才能从PyPi,Python的包库中安装包。

1sudo apt-get install -y python3-pip

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

1pip3 -V

你应该看到类似于此的输出:

1[secondary_label Output]
2pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

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

第2步:安装虚拟机

virtualenv 是一个虚拟环境(https://andsky.com/tech/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-ubuntu-16-04-server# step-2-%E2%80%94-setting-up-a-virtual-environment),您可以在包含的开发空间中安装软件和Python包,这将安装的软件和包与您的机器的其他全球环境隔离。

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

1pip3 install virtualenv

一旦安装,运行版本检查,以验证安装已成功完成:

1virtualenv --version

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

1[secondary_label Output]
2virtualenv 20.0.20 from /home/sammy/.local/lib/python3.5/site-packages/virtualenv/__init__.py

您已成功安装了 virtualenv

在这一点上,我们可以将我们的DjangoWeb应用程序及其相关的软件依赖性与我们系统上的其他Python包或项目隔离。

第3步:安装Django

有三种方法来安装Django. 我们将使用Pip安装方法为本教程,但让我们来解决所有可用的选项为您的参考。

  • ** 选项 1:在virtualenv中安装 Django。

这对于你需要你的Django版本与你的服务器的全球环境隔离时是理想的。

  • **选项2:从源头安装Django。

如果你想要最新的软件或想要比你的Ubuntu APT存储库提供的东西更新的东西,你可以直接从源头上安装。

  • ** 选项 3: 使用 pip 安装 Django Global。

我们正在使用的选项是Pip 3,因为我们将在全球安装Django。

我们将在虚拟环境中使用 pip 安装 Django. 有关设置和使用编程环境的进一步指导和信息,请参阅本教程中的 设置虚拟环境

在服务器的主目录中,我们必须创建包含我们的Django应用程序的目录,运行以下命令来创建名为django-apps的目录,或您选择的其他名称,然后导航到目录。

1mkdir django-apps
2cd django-apps

django-apps目录中,创建你的虚拟环境,让我们称之为env

1virtualenv env

现在,用以下命令激活虚拟环境:

1. env/bin/activate

您将知道它一旦更改前缀为(env),取决于您所在的目录,它将看起来类似于以下:

在环境中,使用 pip 安装 Django 包. 安装 Django 使我们能够创建和运行 Django 应用程序. 有关 Django 的更多信息,请阅读我们在 Django 开发上的教程系列。

1pip install django

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

1django-admin --version

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

1[secondary_label Output]
22.2.12

有了 Django 安装在您的服务器上,我们可以创建一个测试项目,以确保一切正常工作。

步骤 4 – 创建一个 Django 测试项目

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

设置防火墙规则

首先,如果适用,我们需要打开我们将在服务器防火墙中使用的端口. 如果您正在使用 UFW (如初始服务器设置指南中详细描述的)(https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-16-04# step-seven-%E2%80%94-set-up-a-basic-firewall),您可以使用以下命令打开端口:

1sudo ufw allow 8000

如果您正在使用DigitalOcean防火墙,您可以从入口规则中选择HTTP

启动项目

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

在「django-apps」目录中,运行以下命令:

1django-admin startproject testsite

<$>[note] 注: 运行django-admin startproject <projectname>命令将项目目录和项目包命名为<projectname>,并在执行命令的目录中创建项目。

现在我们可以看看刚刚创建了哪些项目文件。导航到测试站点目录,然后列出该目录的内容,以查看创建了哪些文件:

1cd testsite
1ls
1[secondary_label Output]
2manage.py testsite

你会注意到输出显示这个目录包含一个名为manage.py的文件和一个名为testsite的文件夹。manage.py文件类似于django-admin,并将项目的包放置在sys.path

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

1less manage.py

当你完成阅读脚本时,按q,停止查看文件。

现在导航到测试站点目录,查看已创建的其他文件:

1cd testsite/

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

1ls

你会看到四个文件:

1[secondary_label Output]
2__init__.py settings.py urls.py wsgi.py

让我们来看看这些文件中的每一个是什么:

  • __init__.py 作为您的 Python 项目的入口点。
  • settings.py 描述了您的 Django 安装的配置,并让 Django 知道哪些设置可用。
  • urls.py 包含一个 urlpatterns 列表,该列表路由和地图 URL 到其 views.
  • wsgi.py 包含 Web Server Gateway 接口的配置。

<$>[注] 注: 虽然生成了默认文件,但您仍然可以随时调整 `wsgi.py’以满足您的部署需求。

开始并查看您的网站

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

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

正如 Django docs中所述的,ALLOWED_HOSTS变量包含一个代表这个Django网站可以服务的主机/域名的字符串列表,这是防止HTTP主机头攻击的安全措施,即使在许多看似安全的Web服务器配置中也是可能的

您可以使用您喜爱的文本编辑器添加您的 ip 地址,例如,如果您正在使用nano,只需执行以下命令:

1nano ~/django-apps/testsite/testsite/settings.py

一旦运行该命令,您将要导航到文档的允许主机部分,并在单个或双重引用中添加服务器的IP地址。

 1[label settings.py]
 2"""
 3Django settings for testsite project.
 4
 5Generated by 'django-admin startproject' using Django 2.0.
 6...
 7"""
 8...
 9# SECURITY WARNING: don't run with debug turned on in production!
10DEBUG = True
11
12# Edit the line below with your server IP address
13ALLOWED_HOSTS = ['your-server-ip']
14...

您可以保存更改和退出Nano,以保持CTRL +x键,然后按y键。

完成此操作后,请确保返回位于manage.py的目录:

1cd ~/django-apps/testsite/

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

1python manage.py runserver your-server-ip:8000

最后,您可以浏览下面的链接,看看您的骨骼网站是什么样子,再次用您的服务器的实际IP代替突出的文本:

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

一旦页面加载,您将收到一个类似于以下的网页:

Django Default Page

这证实 Django 已正确安装,我们的测试项目正在正常运行。

当你完成测试你的应用程序时,你可以按CTRL +C停止runserver命令,这会让你回到你的编程环境。

当你准备离开你的Python环境时,你可以运行禁用命令:

1deactivate

停用您的编程环境将使您回到终端命令提示。

结论

在本教程中,您已成功升级到最新的Python 3版本,可通过Ubuntu APT存储库为您提供。

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

Published At
Categories with 技术
comments powered by Disqus