Linux环境下Django的安装配置图文详解

开发 后端
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序。下面提供了有关如何在Ubuntu 18.04上的Python虚拟环境中安装Django的分步说明。

 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的分步说明。

1、安装Python 3和venv

默认情况下,Ubuntu 18.04附带Python 3.6。 您可以通过键入以下内容来验证系统上是否安装了Python 3:

 

  1. linuxidc@linuxidc:~/www.linuxidc.com$ python3 -V 

输出应如下所示:

Python 3.6.9

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

 

  1. linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install python3-venv 

如下图:

一旦安装了模块,我们就可以为Django应用程序创建一个虚拟环境了。

2、创建虚拟环境

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

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

 

  1. linuxidc@linuxidc:~/www.linuxidc.com$ mkdir linuxidc_django_app  
  2. linuxidc@linuxidc:~/www.linuxidc.com$ cd linuxidc_django_app 

 

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

 

  1. linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python3 -m venv venv 

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

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

 

  1. linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ source venv/bin/activate 

激活后,虚拟环境的bin目录将添加到$ PATH变量的开头。 此外,您的shell提示符也会更改,它将显示您当前使用的虚拟环境的名称。 在我们的情况下是venv:

3、安装Django

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ pip install django 

在虚拟环境中,您可以使用命令pip而不是pip3和python而不是python3。

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ python -m django --version 

在撰写本文时(2019年12月6日),最新的官方Django版本是3.0

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

4、创建Django项目

要创建名为mydjangoapp的新django项目,请使用django-admin命令行实用程序:

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ django-admin startproject linuxidcdjangoapp 

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ tree  linuxidcdjangoapp/  
  2. linuxidcdjangoapp/  
  3. ├── linuxidcdjangoapp  
  4. │  ├── asgi.py  
  5. │  ├── __init__.py  
  6. │  ├── settings.py  
  7. │  ├── urls.py  
  8. │  └── wsgi.py  
  9. └── manage.py 

1 directory, 6 files

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

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

首先导航到linuxidcdjangoapp目录:

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ cd linuxidcdjangoapp 

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

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py migrate 

输出将如下所示:

 

  1. Operations to perform:  
  2.   Apply all migrations: admin, auth, contenttypes, sessions  
  3. Running migrations:  
  4.   Applying contenttypes.0001_initial... OK  
  5.   Applying auth.0001_initial... OK  
  6.   Applying admin.0001_initial... OK  
  7.   Applying admin.0002_logentry_remove_auto_add... OK  
  8.   Applying admin.0003_logentry_add_action_flag_choices... OK  
  9.   Applying contenttypes.0002_remove_content_type_name... OK  
  10.   Applying auth.0002_alter_permission_name_max_length... OK  
  11.   Applying auth.0003_alter_user_email_max_length... OK  
  12.   Applying auth.0004_alter_user_username_opts... OK  
  13.   Applying auth.0005_alter_user_last_login_null... OK  
  14.   Applying auth.0006_require_contenttypes_0002... OK  
  15.   Applying auth.0007_alter_validators_add_error_messages... OK  
  16.   Applying auth.0008_alter_user_username_max_length... OK  
  17.   Applying auth.0009_alter_user_last_name_max_length... OK  
  18.   Applying auth.0010_alter_group_name_max_length... OK  
  19.   Applying auth.0011_update_proxy_permissions... OK  
  20.   Applying sessions.0001_initial... OK 

 

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py createsuperuser 

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

 

  1. Username (leave blank to use 'linuxidc'): admin  
  2. Email address: admin@linuxidc.com       
  3. Password:  
  4. Password (again):  
  5. This password is too short. It must contain at least 8 characters.  
  6. This password is too common.  
  7. Bypass password validation and create user anyway? [y/N]: y  
  8. Superuser created successfully. 

 

5、测试开发服务器

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

 

  1. (venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app/linuxidcdjangoapp$ python manage.py runserver  

您将看到以下图一样的输出:

 

  1. Starting development server at http://127.0.0.1:8000/  
  2. Quit the server with CONTROL-C. 

 

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

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

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

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

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

6、停用虚拟环境

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

 

  1. deactivate 

总结

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

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

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

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2011-07-06 14:07:38

2009-06-10 16:38:24

EclipsePydevDjango

2010-05-18 17:39:28

Subversion配

2011-03-02 08:57:51

2014-06-18 15:50:06

RHEL 7.0系统安装

2010-05-18 18:19:07

Subversion服

2011-02-25 18:11:48

LinuxPureFTPd

2010-09-25 10:01:28

Cisco DHCP配

2017-01-05 22:28:16

WindowsNano Server部署

2021-01-12 09:55:29

LinuxCntlm代理

2020-09-25 17:10:13

LinuxMySQL 8.0

2010-05-18 17:12:11

Subversion安

2011-03-08 10:10:37

Linuxproftpd

2021-02-25 18:46:07

开发技能代码

2021-06-03 08:04:13

LinuxMySQL配置

2009-07-07 11:33:06

JDK1.6

2010-09-25 16:47:23

DHCP中继代理配置

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-08 11:11:38

LinuxLAMP安装

2010-05-12 18:05:45

linux下subvesubversionapache配置
点赞
收藏

51CTO技术栈公众号