如何在Ubuntu 18.04上安装Django

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

根据您的须要,有不一样的方法来安装Django。它可使用pip在系统范围内安装或在Python虚拟环境中安装。linux

Django软件包也包含在官方Ubuntu存储库中,可使用apt软件包管理器进行安装。这是在Ubuntu 18.04上安装Django的最简单方法,但不如在虚拟环境中安装那么灵活。此外,存储库中包含的版本老是落后于最新版本的Django。shell

Python虚拟环境的主要目的是为不一样的Python项目建立一个独立的环境。这样,您能够在一台计算机上拥有多个不一样的Django环境,并在每一个项目的基础上安装特定版本的模块,而没必要担忧它会影响您的其余Django安装。若是您将Django安装到全局环境中,那么您只能在计算机上安装一个Django版本。数据库

在Ubuntu 18.04上安装Django

如下部分提供了有关如何在Ubuntu 18.04上的Python虚拟环境中安装Django的分步说明。django

1.安装Python 3和venv

默认状况下,Ubuntu 18.04附带Python 3.6。 您能够经过键入如下内容来验证系统上是否安装了Python 3:ubuntu

python3 -V

输出应以下所示:浏览器

Python 3.6.6

从Python 3.6开始,建立虚拟环境的推荐方法是使用venv模块。 要安装提供venv模块的python3-venv软件包,请运行如下命令:安全

sudo apt install python3-venv

一旦安装了模块,咱们就能够为Django应用程序建立一个虚拟环境了。服务器

2.建立虚拟环境

首先导航到要存储Python 3虚拟环境的目录。 它能够是您的主目录或您的用户具备读写权限的任何其余目录。session

为Django应用程序建立一个新目录并导航到它:

mkdir my_django_app
cd my_django_app

进入目录后,运行如下命令以建立新的虚拟环境:

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而不是pip3和python而不是python3。

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

python -m django --version

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

2.1.2

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

4.建立Django项目

要建立名为mydjangoapp的新django项目,请使用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: admin@linuxize.com    
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, 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文件,在ALLOWED_HOSTS列表中添加服务器IP地址。

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

ubuntu-18-04-django-landing-pageubuntu-18-04-django-landing-page

您能够经过在URL的末尾添加/ admin /来访问Django管理界面(http://127.0.0.1:8000/admin/)。 这将带您进入管理员登陆界面:

ubuntu-18-04-django-login-pageubuntu-18-04-django-login-page

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

ubuntu-18-04-django-admin-pageubuntu-18-04-django-admin-page

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

6.停用虚拟环境

完成工做后,经过键入deactivate来停用环境,您将返回正常的shell。

deactivate

总结

您已经学习了如何在Ubuntu 18.04计算机上建立Python虚拟环境并安装Django。 要建立其余Django开发环境,请重复本教程中概述的步骤。

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

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

相关文章
相关标签/搜索