介绍
Django是一个用Python编写的免费开源的网络框架,其核心原则是可扩展性、可重用性和快速开发。它还以框架级的一致性和松散耦合而闻名,允许各个组件彼此独立。
在本教程中,您将在Ubuntu 22.04服务器上设置一个Django环境,用于开发目的。对于实时网站,您将有额外的考虑,包括连接到数据库、设置域名和添加安全层。有各种各样的Django教程可以在您构建下方的Django标签时提供支持。
先决条件
为了完成本教程,您需要:
-
一个具有
sudo
权限的非root用户帐户,您可以通过遵循并完成Ubuntu 22.04的初始服务器设置教程来实现。 -
使用虚拟编程环境设置 Python 3。您可以通过 Python 3 安装指南 进行设置。
步骤 1 — 安装 Django
有几种方法可以安装 Django,其中一种是在虚拟环境中使用 Python 包管理器 pip。
在服务器的主目录中,您将创建一个包含 Django 应用程序的目录。运行以下命令以创建一个名为 django-apps
的目录,或者您可以选择其他名称。然后进入该目录。
在 django-apps
目录中,创建您的虚拟环境。您可以将其命名为通用的 env
,但您应该使用一个对您和您的项目有意义的名称。
现在,使用以下命令激活虚拟环境:
一旦前缀更改为(env)
,您将知道它已激活,具体取决于您所在的目录:
在环境中,使用pip安装Django包。安装Django允许我们创建和运行Django应用程序。
安装完成后,请通过运行版本检查来验证您的Django安装:
结果输出将类似于以下内容:
Output4.0.6
在服务器上安装了Django后,您可以继续创建一个测试项目,以确保一切正常工作。您将创建一个骨架Web应用程序。
步骤2 — 调整防火墙设置
如果您遵循了初始服务器设置教程,或者在服务器上运行了防火墙,则需要在服务器防火墙中打开将要使用的端口。对于UFW防火墙,您可以使用以下命令打开端口:
如果您使用的是DigitalOcean防火墙,则可以从入站规则中选择HTTP。您可以通过修改入站规则来了解有关DigitalOcean防火墙以及如何为其创建规则的更多信息。
步骤 3 — 启动项目
现在您可以使用django-admin
生成一个应用程序,这是一个用于管理Python中的管理任务的命令行实用程序。然后,您可以使用startproject
命令为您的测试网站创建项目目录结构。
在django-apps
目录中,运行以下命令:
注意:运行django-admin startproject <projectname>
命令将命名项目目录和项目包为<projectname>
并在运行该命令的目录中创建项目。如果提供了可选的<destination>
参数,Django 将使用提供的目标目录作为项目目录,并在其中创建manage.py
和项目包。
现在,您可以查看刚刚创建的项目文件。导航到testsite
目录,然后列出该目录的内容以查看创建了哪些文件:
Outputmanage.py testsite
你会注意到输出显示该目录包含一个名为manage.py
的文件和一个名为testsite
的文件夹。 manage.py
文件类似于django-admin
,它会将项目的包放在sys.path
上。这也会设置DJANGO_SETTINGS_MODULE
环境变量,指向项目的settings.py
文件。
您可以通过运行以下命令在终端中查看manage.py
脚本:
阅读完脚本后,按q
退出查看文件。
现在导航到testsite
目录以查看创建的其他文件:
然后运行以下命令列出目录的内容:
您将看到四个文件:
Output__init__.py asgi.py settings.py urls.py wsgi.py
您可以查看每个文件的内容:
__init__.py
作为您的Python项目的入口点。asgi.py
包含用于可选部署到Asynchronous Server Gateway Interface或ASGI的配置,该接口提供了一种标准,用于同步和异步的应用程序,并被视为WSGI(见下文)的继承者。settings.py
描述了Django安装的配置,并让Django知道哪些设置是可用的。urls.py
包含一个urlpatterns
列表,用于路由和映射URL到它们的views
。wsgi.py
包含了 Web 服务器网关接口(WSGI)的配置,它为同步 Python 应用程序提供了一个标准。
注意:尽管生成了默认文件,但您仍然可以随时调整 asgi.py
或 wsgi.py
文件,以适应您的部署需求。
步骤 4 — 配置 Django
现在,您可以通过运行 runserver
命令启动服务器,并在指定的主机和端口上查看网站。
您需要将服务器 IP 地址添加到位于 ~/test_django_app/testsite/testsite/
中的 settings.py
文件的 ALLOWED_HOSTS
列表中。
如 Django 文档 所述,ALLOWED_HOSTS
变量包含“表示此 Django 站点可以提供服务的主机/域名字符串列表。这是一项安全措施,用于防止 HTTP Host 头攻击,即使在许多看似安全的 Web 服务器配置下,这种攻击也是可能的。”
您可以使用您喜欢的文本编辑器添加您的 IP 地址。例如,如果您使用 nano
,请运行以下命令:
一旦运行命令,您将需要导航到文档的ALLOWED_HOSTS
部分,并在方括号内添加您服务器的IP地址,使用单引号或双引号。
您可以通过按住CTRL
+ x
键,然后按y
键来保存更改并退出nano。接下来,您将通过浏览器访问您的Web应用程序。
最后,创建一个管理用户,以便您可以使用Django管理界面。这可以通过createsuperuser
命令完成:
您将被提示输入用户名、电子邮件地址和用户的密码。
第5步 — 访问Django Web应用程序
配置完成后,请确保导航回manage.py
所在的目录:
现在,运行以下命令,将your-server-ip文本替换为您服务器的IP:
最后,您可以导航到以下链接查看您的骨架网站是什么样子,再次将突出显示的文本替换为您服务器的实际 IP:
http://your-server-ip:8000/
页面加载后,您会看到以下内容:
这证实了Django已正确安装,并且您的测试项目正常工作。
要访问管理界面,请在您的URL末尾添加/admin/
:
http://your_server_ip:8000/admin/
这将带您到登录界面:
如果您输入刚刚创建的管理员用户名和密码,您将能够访问站点的主要管理部分:
有关使用Django管理界面的更多信息,请参阅“如何启用和连接Django管理界面”
测试应用程序完成后,您可以按CTRL
+ C
停止runserver
命令。这将返回您的编程环境。
当您准备离开Python环境时,您可以运行deactivate
命令:
停用您的编程环境将使您回到终端命令提示符。
结论
在本教程中,您已成功安装了Django并设置了一个开发环境,可以开始开发您的Django应用程序。
你现在已经具备了构建Django Web应用程序所需的基础。