Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序。
有多种安装Django的方法,具体取决于您的需求。它可以安装在系统范围内,也可以使用pip安装在Python虚拟环境中。
Django软件包也包含在官方的Ubuntu存储库中,可以使用apt
软件包管理器进行安装。这是在Ubuntu 18.04上安装Django的最简单方法,但不如在虚拟环境中安装那样灵活。此外,存储库中包含的版本始终落后于最新版本的Django。
Python虚拟环境的主要目的是为不同的Python项目创建一个隔离的环境。这样,您可以在一台计算机上拥有多个不同的Django环境,并在每个项目的基础上安装模块的特定版本,而不必担心这会影响您的其他Django安装。如果将Django安装到全局环境中,则只能在计算机上安装一个Django版本。
在Ubuntu 18.04上安装Django
以下各节提供了有关如何在Ubuntu 18.04上的 Python虚拟环境中安装Django的逐步说明。
安装Python 3和venv
Ubuntu 18.04默认随附Python 3.6。您可以通过键入以下内容来验证系统上是否安装了Python 3:
python3 -V
输出应如下所示:
Python 3.6.6
从Python 3.6开始,创建虚拟环境的推荐方法是使用venv
模块。要安装提供venv
模块的python3-venv
软件包,请运行以下命令:
sudo apt install python3-venv
安装完模块后,我们就可以为Django应用程序创建虚拟环境了。
创建虚拟环境
首先,导航到要存储Python 3虚拟环境的目录。它可以是您的主目录,也可以是您的用户具有读写权限的任何其他目录。
为您的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
。
安装Django
现在已激活虚拟环境,您可以使用Python软件包管理器pip安装Django:
pip install django
在虚拟环境中,您可以使用命令pip
代替pip3
,并使用python
代替python3
。
要验证安装,请使用以下命令,该命令将打印Django版本:
python -m django --version
在撰写本文时,最新的官方Django版本是2.1.2
2.1.2
您的Django版本可能与此处显示的版本不同。
创建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 'myfreax'): admin
Email address: admin@myfreax.com
Password:
Password (again):
Superuser created successfully.
测试开发服务器
使用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
文件并在其中添加服务器IP地址ALLOWED_HOSTS
清单。
在网络浏览器中打开http://127.0.0.1:8000
,将显示默认的Django登陆页面:
您可以通过在URL末尾添加/admin/
(http://127.0.0.1:8000/admin/
)来访问Django管理界面。这将带您进入管理员登录屏幕:
输入您的用户名和密码,您将被重定向到Django管理页面:
要停止开发服务器,请在您的终端中键入CTRL-C
。
停用虚拟环境
完成工作后,请键入deactivate
以停用环境,然后将返回到常规shell。
deactivate
结论
您已经了解了如何创建Python虚拟环境以及如何在Ubuntu 18.04计算机上安装Django。要创建其他Django开发环境,请重复本教程中概述的步骤。
如果您不熟悉Django,请访问 Django文档页面,并了解如何开发您的第一个Django应用。
如果您遇到任何问题,请随时发表评论。