在Ubuntu 16.04上安装Django并搭建开发环境的方法

简介: 在Ubuntu 16.04上安装Django并搭建开发环境的方法

简介

Django 是一个使用 Python 编写的免费开源的 Web 框架,遵循**模型模板视图(MTV)**软件架构模式。MTV 模式是 Django 对模型-视图-控制器(MVC)模式的实现。根据 Django 软件基金会的定义,模型 是数据的唯一权威来源,视图 通过 Python 回调函数描述向用户呈现的数据,模板 是 Django 动态生成 HTML 的方式。

Django 的核心原则是可扩展性、可重用性和快速开发。它还以框架级的一致性和松散耦合而闻名,允许各个组件相互独立。不要重复自己(DRY 编程)是 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 标志在升级过程中回答“是”以回应提示。如果您希望升级过程在每个提示处停止,请删除该标志。

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

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

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

sudo apt-get install python3

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

python3 -V

结果输出将类似于:

python 3.5.2

现在我们已经安装了 Python 3,我们还需要 pip 来从 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

我们应该会看到以下输出,或类似的内容:

virtualenv 20.0.20 from /home/sammy/.local/lib/python3.5/site-packages/virtualenv/__init__.py

您已成功安装 virtualenv

此时,我们可以将我们的 Django Web 应用程序及其相关软件依赖项与系统上的其他 Python 包或项目隔离开来。

步骤 3 — 安装 Django

有三种安装 Django 的方法。在本教程中,我们将使用 pip 安装方法,但让我们先讨论所有可用选项供您参考。

  • 选项 1:在 virtualenv 中安装 Django。
    这对于需要将您的 Django 版本与服务器的全局环境隔离开来时非常理想。
  • 选项 2:从源代码安装 Django。
    如果您想要最新的软件或想要比 Ubuntu APT 软件包存储库提供的更新内容更新的内容,您可以直接从源代码安装。请注意,选择此安装方法需要不断关注和维护,以确保您的软件版本是最新的。
  • 选项 3:使用 pip 在全局范围内安装 Django。
    我们将选择 pip 3 安装 Django 在全局范围内。

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

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

mkdir django-apps
cd django-apps

django-apps 目录中,创建您的虚拟环境。我们将其命名为 env

virtualenv env

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

. env/bin/activate

一旦前缀更改为 (env),您将知道它已激活,前缀将类似于以下内容,具体取决于您所在的目录:

在环境中,使用 pip 安装 Django 软件包。安装 Django 允许我们创建和运行 Django 应用程序。要了解有关 Django 的更多信息,请阅读我们的 Django 开发系列教程。

pip install django

安装完成后,请通过运行版本检查来验证您的 Django 安装:

django-admin --version

这将是结果输出:

2.2.12

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

步骤 4 —— 创建 Django 测试项目

为了测试 Django 的安装,我们将创建一个骨架网站应用程序。

设置防火墙规则

首先,如果适用的话,我们需要在服务器的防火墙中打开我们将要使用的端口。如果您正在使用 UFW(如在初始服务器设置指南中详细介绍的那样),您可以使用以下命令打开端口:

sudo ufw allow 8000

如果您正在使用 DigitalOcean 防火墙,您可以从入站规则中选择 HTTP。您可以通过阅读入门教程中的入站规则部分来了解有关 DigitalOcean 防火墙和创建规则的更多信息。

启动项目

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

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

django-admin startproject testsite

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

cd testsite
ls
manage.py  testsite

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

您可以通过运行以下命令在终端中查看 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 路由和映射到它们的 views
  • wsgi.py 包含 Web 服务器网关接口的配置。Web 服务器网关接口(WSGI)是用于部署 Web 服务器和应用程序的 Python 平台标准。

启动并查看您的网站

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

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

根据 Django 文档的说法,ALLOWED_HOSTS 变量包含“表示此 Django 站点可以提供服务的主机/域名的字符串列表。这是一项安全措施,用于防止 HTTP 主机标头攻击,即使在许多看似安全的 Web 服务器配置下也可能发生。”

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

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

运行命令后,您需要导航到文档的 Allowed Hosts 部分,并在单引号或双引号内的方括号中添加您服务器的 IP 地址。

"""
Django settings for testsite project.
Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# 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 ~/django-apps/testsite/

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

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

最后,您可以导航到下面的链接,查看您的骨架网站是什么样子的,再次将突出显示的文本替换为您服务器的实际 IP:

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

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

!Django 默认页面

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

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

当您准备离开您的 Python 环境时,可以运行 deactivate 命令:

deactivate

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

结论

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

现在,您已经具备了构建Django Web应用程序所需的工具。


目录
相关文章
|
7月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
306 11
|
9月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
639 19
|
9月前
|
Ubuntu Windows
处理ubuntu启动过程中报错error:proc_thermal_add错误的方法
了解以上方法,就像寻找鬼屋出口的吊灯,当初见“error:proc_thermal_add错误”时的恐惧不翼而飞。各位Ubuntu使用者都是勇敢的探险家,遇到的问题无非是丛林中的野兽,尝试、努力和坚持总能找到解决的办法。
256 21
|
9月前
|
存储 运维 Ubuntu
Ubuntu环境下NTP时间同步服务的离线安装方法
以上就是Ubuntu环境下离线安装和配置NTP时间同步服务的全过程。这种有效的操作不仅可为有网络隔离需求的安全重要环境提供参考,同时也能帮助研发、运维人员在同类情况下处理问题。太阳走过万丈高空,而我们通过NTP服务,轻松把握时间,如同手握流沙,控制每一颗时间粒子的行走。
1662 23
|
10月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
269 28
|
10月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1096 12
|
12月前
|
Ubuntu
Ubuntu下载ISO镜像的方法
步骤 1:访问Ubuntu官方网站 打开浏览器,输入Ubuntu的官方网址:https://cn.ubuntu.com/download/desktop 接着,点击“Ubuntu Desktop”或你需要的Ubuntu版本。
6251 6
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
6049 5
|
Ubuntu 应用服务中间件 网络安全
Ubuntu 22.04环境下为Odoo开启80端口的方法
通过以上步骤,你应该能够在Ubuntu 22.04环境下为Odoo开启80端口。访问你的域名时,Nginx会将请求代理到Odoo,允许你通过80端口访问Odoo应用。
570 1
|
存储 Ubuntu Go
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
241 1