Django 是一个开源的、全栈、通用的基于 Python 的框架,它使开发人员能够构建和部署可扩展的、健壮的 web 应用程序,以满足最终用户的高要求。Django 的主要目标是简化复杂 web 应用程序的部署,并关注应用程序开发的关键方面,如内容管理、身份验证和安全性。
使用 Django,你可以构建任何类型的网络和聊天应用程序,比如社交网站。一些流行的基于 Django 构建的应用程序包括Instagram,Spotify和Eventbrite。在本指南中,我们将带你在 CentOS 8 上安装和配置 Django。
Step 1) 安装 Python3 和 pip
鉴于 Django 是一个基于 Python 的工具包,我们需要确保安装了 Python。我们将安装 Python3 和 pip 包管理器。
$ sudo dnf install -y python36 python3-pip
查看 python3 的版本
[linuxtechi@centos-8 ~]$ python3 -V
Python 3.6.8
[linuxtechi@centos-8 ~]$
查看 pip3 的版本
[linuxtechi@centos-8 ~]$ pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
[linuxtechi@centos-8 ~]$
Step 2) 通过 pip3 安装 Django
安装好 pip 后,安装 Django web 框架
$ sudo pip3 install django
安装完成后,查看 django 的版本
[linuxtechi@centos-8 ~]$ django-admin --version
3.0.6
[linuxtechi@centos-8 ~]$
把 django-admin 执行文件 从 /usr/local/bin 拷贝到 /usr/bin
[linuxtechi@centos-8 ~]$ sudo cp /usr/local/bin/django-admin /usr/bin/
Step 3) 创建 Django 项目
在这一步中,我们将创建一个名为 linuxtechi 的 Django 示例项目。
$ cd /opt
$ sudo django-admin startproject linuxtechi
以上命令的输出如下所示
[linuxtechi@centos-8 ~]$ cd /opt/
[linuxtechi@centos-8 opt]$ sudo django-admin startproject linuxtechi
[linuxtechi@centos-8 opt]$ ls -l linuxtechi/
total 4
drwxr-xr-x. 2 root root 89 May 18 07:07 linuxtechi
-rwxr-xr-x. 1 root root 630 May 18 07:07 manage.py
[linuxtechi@centos-8 opt]$
在新创建的项目中,确保找到另一个同名目录和一个manage.py 文件,使用如下命令执行迁移。
$ cd linuxtechi
$ sudo python3 manage.py migrate
Step 4) 创建一个 Django Admin 帐户
接下来,我们需要创建一个 admin 用户帐户,用于登录前端的 Django
$ sudo python3 manage.py createsuperuser
系统将提示您输入用户名、电子邮件地址和密码,随后您将确认密码。
[linuxtechi@centos-8 linuxtechi]$ sudo python3 manage.py createsuperuser
Username (leave blank to use 'root'): sysadmin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
[linuxtechi@centos-8 linuxtechi]$
Step 5) 配置防火墙
在部署应用程序之前,我们需要放行 8000 端口 ,这是应用程序将侦听的默认端口。
[linuxtechi@centos-8 ~]$ sudo firewall-cmd --add-port=8000/tcp --zone=public --permanent
success
[linuxtechi@centos-8 ~]$
重新加载防火墙
[linuxtechi@centos-8 ~]$ sudo firewall-cmd --reload
success
[linuxtechi@centos-8 ~]$
查看开放的端口
[linuxtechi@centos-8 ~]$ sudo firewall-cmd --list-ports
8000/tcp
[linuxtechi@centos-8 ~]$
虽然我们在防火墙上允许使用 8000 端口,但是 Django 仍然不能被外部用户访问。我们需要修改样例文件夹中的 settings.py 文件,并在 ALLOWED HOSTS 参数中指定服务器地址或星号。
注意: 如果我们指定了服务器的 ip 地址,那么我们只能从该 ip 访问我们的应用程序,如果你想从所有网络访问应用程序,那么请指定为星号(*)。
$ sudo vim /opt/linuxtechi/linuxtechi/settings.py
保存并退出文件
Step 6) 启动 Django 应用程序
所有设置和配置就绪后,启动 Django 应用程序
$ cd /opt/linuxtechi
$ sudo python3 manage.py runserver 0.0.0.0:8000
通过浏览器访问应用程序
应用程序的后台管理面板
输入前面创建的用户名和密码,然后按 ENTER 键进入管理后台。
后台管理面板如下所示