如何在CentOS 7上安装Django

Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序。

有多种安装Django的方法,具体取决于您的需求。 它可以安装在系统范围内,也可以使用pip安装在Python虚拟环境中。 Django软件包也包含在CentOS存储库中,可以使用以下命令进行安装: yum 包管理器,但它们已过时。

在本教程中,我们将在Python虚拟环境中的CentOS 7计算机上安装和配置Django的最新稳定版本。

Python虚拟环境的主要目的是为不同的Python项目创建一个隔离的环境。 这样,您可以在一台计算机上拥有多个不同的Django环境,并在每个项目的基础上安装模块的特定版本,而不必担心这会影响您的其他Django安装。 如果将Django安装到全局环境中,则只能在计算机上安装一个Django版本。

在CentOS 7上安装Django#

以下各节提供了有关如何在CentOS 7的Python虚拟环境中安装Django的逐步说明。

1.安装Python 3#

我们将从软件集合(SCL)存储库中安装Python 3.6。

CentOS 7附带了Python 2.7.5,这是CentOS基本系统的关键部分。 SCL允许您在默认的python v2.7.5旁边安装新版本的python 3.x,以便yum之类的系统工具将继续正常运行。

首先通过安装CentOS Extras存储库中包含的CentOS SCL发行文件来启用SCL:

sudo yum install centos-release-scl

启用存储库后,使用以下命令安装Python 3.6:

sudo yum install rh-python36

安装Python 3.6之后,我们就可以为Django应用程序创建虚拟环境了。

2.创建虚拟环境#

从Python 3.6开始,建议的创建虚拟环境的方法是使用 venv 模块。

导航到您要存储Python 3虚拟环境的目录。 它可以是您的主目录,也可以是用户具有读写权限的任何其他目录。

为您的Django应用程序创建一个新目录并cd到其中:

mkdir my_django_appcd my_django_app

要访问Python 3.6,您需要使用来启动新的shell实例 scl 工具:

scl enable rh-python36 bash

运行以下命令以创建新的虚拟环境:

python3 -m venv venv

上面的命令创建一个名为 venv,其中包含Python二进制文件,Pip程序包管理器,标准Python库和其他支持文件的副本。 您可以为虚拟环境使用任何名称。

要开始使用此虚拟环境,您需要通过运行 activate 脚本:

source venv/bin/activate

激活后,虚拟环境的bin目录将被添加到 $PATH 变量。 而且,shell的提示符也会更改,并且会显示您当前正在使用的虚拟环境的名称。 在我们的情况下 venv

3.安装Django#

现在已经激活了虚拟环境,您可以使用Python软件包管理器了 pip 安装Django:

pip install django

在虚拟环境中,可以使用以下命令 pip 代替 pip3python 代替 python3

要验证安装,请使用以下命令,该命令将打印Django版本:

python -m django --version

在撰写本文时,最新的官方Django版本是2.1.2。

2.1.2

您的Django版本可能与此处显示的版本不同。

4.创建Django项目#

创建一个名为的新Django项目 mydjangoapp 使用 django-admin 命令行实用程序:

django-admin startproject mydjangoapp

上面的命令将创建一个 mydjangoapp 当前目录中的目录。

tree  mydjangoapp/
mydjangoapp/
|-- manage.py
`-- mydjangoapp
    |-- __init__.py
    |-- settings.py
    |-- urls.py
    `-- wsgi.py

在该目录中,您将找到用于管理项目的主脚本,该脚本名为 manage.py 另一个目录,包括数据库配置,Django和特定于应用程序的设置。

让我们迁移数据库并创建一个管理用户。

首先导航到 mydjangoapp 目录:

cd mydjangoapp

默认情况下,Django使用SQLite数据库。 对于生产应用程序,可以使用PostgreSQL,MariaDB,Oracle或MySQL数据库。

运行以下命令来迁移数据库:

python manage.py migrate

输出将类似于以下内容:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

迁移数据库后,创建一个管理用户,以便您可以使用Django管理界面:

python manage.py createsuperuser

该命令将提示您输入用户名,电子邮件地址和管理用户密码。

Username (leave blank to use 'linuxize'): admin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

5.测试开发服务器

使用以下命令启动开发Web服务器 manage.py 脚本后跟 runserver 选项:

python manage.py runserver

您将看到以下输出:

Performing system checks...

System check identified no issues (0 silenced).
October 20, 2018 - 11:16:28
Django version 2.1.2, using settings 'mydjangoapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

如果您在虚拟机上安装了Django,并且要访问Django开发服务器,则需要编辑 settings.py 文件,并在其中添加服务器IP地址 ALLOWED_HOSTS 清单。

打开 http://127.0.0.1:8000 在您的网络浏览器中,您将看到默认的Django登录页面:

您可以通过添加来访问Django管理界面 /admin/ 到网址末尾(http://127.0.0.1:8000/admin/)。 这将带您进入管理员登录屏幕:

CentOS 7 Django登录页面

输入您的用户名和密码,您将被重定向到Django管理页面:

CentOS 7 Django管理页面

停止开发服务器类型 CTRL-C 在您的终端中。

6.停用虚拟环境#

完成工作后,通过键入以下内容停用环境 deactivate 然后您将返回到常规外壳。

deactivate

结论#

您已经了解了如何创建Python虚拟环境以及如何在CentOS 7计算机上安装Django。 要创建其他Django开发环境,请重复本教程中概述的步骤。

如果您是Django的新手,请访问Django文档页面并了解如何开发您的第一个Django应用。

如果您遇到任何问题,请随时发表评论。

python centos

Sidebar