Django-Installation-on-Centos


Django 是一个开源的、全栈、通用的基于 Python 的框架,它使开发人员能够构建和部署可扩展的、健壮的 web 应用程序,以满足最终用户的高要求。Django 的主要目标是简化复杂 web 应用程序的部署,并关注应用程序开发的关键方面,如内容管理、身份验证和安全性。

使用 Django,你可以构建任何类型的网络和聊天应用程序,比如社交网站。一些流行的基于 Django 构建的应用程序包括InstagramSpotifyEventbrite。在本指南中,我们将带你在 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


pip3-install-django-centos8


安装完成后,查看 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


python3-migrate-centos8-django


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: sysadmin@linuxtechi.com
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


Allowed-host-django-python-centos8


保存并退出文件

Step 6) 启动 Django 应用程序

所有设置和配置就绪后,启动 Django 应用程序

$ cd /opt/linuxtechi
$ sudo python3 manage.py runserver 0.0.0.0:8000


Starting-django-Service-CentOS8


通过浏览器访问应用程序


Django-Web-framework-CentOS8


应用程序的后台管理面板

输入前面创建的用户名和密码,然后按 ENTER 键进入管理后台。


Login-Django-site-admin-CentOS8


后台管理面板如下所示


Site-administration-Django-GUI-CentOS8


我的开源项目


酷瓜云课堂-开源知识付费解决方案