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

介绍

Django 是一个以 Python 编写的免费和开源的 Web 框架,其核心原则是可扩展性、可重复使用性和快速开发,它也以其框架层面的一致性和宽松的结合而闻名,允许单个组件相互独立。

在本教程中,您将在Ubuntu 22.04 服务器上设置一个 Django 环境 用于开发目的 . 对于实时网站,您将有额外的考虑,包括连接到数据库,设置域名,并添加安全层。

前提条件

为了完成本教程,您将需要:

第1步:安装Django

有几种方法可以在虚拟环境中安装Django,Python包管理 pip。

在服务器的主目录中,您将创建包含 Django 应用程序的目录. 运行以下命令来创建名为 'django-apps' 的目录,或您选择的其他名称。

1mkdir django-apps
2cd django-apps

django-apps目录中,创建你的虚拟环境,你会称它为通用env,但你应该使用一个对你和你的项目有意义的名称。

1virtualenv env

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

1. env/bin/activate

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

在环境中,使用 pip 安装 Django 包,我们可以创建和运行 Django 应用程序。

1pip install django

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

1django-admin --version

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

1[secondary_label Output]
24.0.6

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

第2步:调整防火墙设置

如果您遵循最初的服务器设置教程或在您的服务器上运行了防火墙,则需要打开您将在服务器防火墙中使用的端口。

1sudo ufw allow 8000

如果您正在使用 DigitalOcean 防火墙,您可以从输入规则中选择 HTTP. 您可以阅读更多关于 DigitalOcean 防火墙以及如何通过修改 输入规则来创建规则。

步骤三:开始项目

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

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

1django-admin startproject testsite

<$>[注] 注: 运行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 asgi.py settings.py urls.py wsgi.py

您可以浏览这些文件中的每个文件是什么:

  • __init__.py 作为您的 Python 项目的入口点。
  • asgi.py 包含可选部署到非同步服务器网关接口或 ASGI的配置,它为同步和非同步的应用提供标准,并且被认为是 WSGI 的继任者(见下文)。
  • settings.py 描述了您的 Django 安装的配置,让 Django 知道哪些设置可用。

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

步骤 4 – 配置 Django

现在您可以启动服务器并在指定主机和端口上查看网站,运行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 4.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键。

最后,创建一个管理用户,这样你就可以使用 Django admin interface

1python manage.py createsuperuser

您将被要求为您的用户提供用户名、电子邮件地址和密码。

步骤 5 – 访问 Django Web App

完成配置后,请确保您返回位于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 已正确安装,您的测试项目正在正常运行。

要访问 admin 界面,请在 URL 末尾添加 /admin/:

1http://your_server_ip:8000/admin/

这将带你到一个登录屏幕:

Django admin login

如果您输入您刚刚创建的管理员用户名和密码,您将可以访问网站的主要管理部分:

Django admin page

有关使用 Django 管理界面的更多信息,请参阅 [如何启用和连接 Django 管理界面

当您完成测试应用程序时,您可以按CTRL +C来停止runserver命令。

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

1deactivate

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

结论

在本教程中,您已经成功安装了Django,并设置了一个开发环境,开始在Django应用程序上工作。

现在你已经有了建立 Django Web 应用程序所需的基础。

Published At
Categories with 技术
comments powered by Disqus