如何在Debian 9 Linux上安装Django

时间:2020-03-05 15:25:13  来源:igfitidea点击:

Django是最受欢迎的Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序。

Django可以安装在系统范围内,也可以使用pip安装在Python虚拟环境中。
Django软件包包含在Debian官方存储库中,可以使用“ apt”软件包管理器进行安装。
这是在Debian 9上安装Django的最简单方法,但不如在虚拟环境中安装那样灵活。
此外,存储库中包含的版本始终比最新版本的Django落后多个版本。

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

在Debian 9上安装Django

执行以下步骤以在Debian 9上的Python虚拟环境中安装Django。

1.安装Python 3和venv

默认情况下,Debian 9随附Python 3.5.
我们可以通过键入以下命令来验证系统上是否安装了Python 3:

python3 -V

输出应如下所示:

Python 3.5.3

创建虚拟环境的推荐方法是使用“ venv”模块。

“ venv”模块包含在“ python3-venv”包中。
通过键入以下命令进行安装:

sudo apt install python3-venv

安装模块后,我们准备为Django应用程序创建虚拟环境。

2.创建虚拟环境

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

为Django应用程序创建一个新目录并导航至该目录:

mkdir my_django_appcd my_django_app

在目录内部,执行以下命令以创建新的虚拟环境:

python3 -m venv venv

上面的命令创建一个名为“ venv”的目录,其中包含Python二进制文件,Pip程序包管理器,标准Python库和其他支持文件的副本。

我们可以为虚拟环境使用任何想要的名称。

要开始使用虚拟环境,请通过运行“激活”脚本将其激活:

source venv/bin/activate

激活后,虚拟环境的bin目录将添加到“ $PATH”变量的开头。

此外,Shell提示符也会更改,并且会显示我们当前正在使用的虚拟环境的名称。
在我们的例子中是'venv'。

3.安装Django

现在虚拟环境已激活,使用Python包管理器'pip'安装Django:

pip install django

在虚拟环境中,可以使用命令'pip'代替'pip3'和'python'代替'python3'。

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

python -m django --version

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

2.1.3

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

4.创建一个Django项目

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

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

SQLite是Django的默认数据库。
对于生产应用程序,可以使用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 'theitroad'): admin
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.

5.测试开发服务器

使用“ manage.py”脚本和“ runserver”选项启动开发Web服务器:

python manage.py runserver

我们会看到以下输出:

Performing system checks...
System check identified no issues (0 silenced).
October 20, 2016 - 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管理界面,请在URL('http://127.0.0.1:8000/admin/')的末尾添加'/admin'。
这将带我们进入管理员登录屏幕:

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

要停止开发服务器,请在终端中键入“ CTRL-C”。

6.停用虚拟环境

完成工作后,通过键入“ deactivate”来停用环境,我们将返回到常规shell。

deactivate