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:

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

输出应如下所示:
Python 3.6.9
从Python 3.6开始,创建虚拟环境的推荐方法是使用venv模块。 要安装提供venv模块的python3-venv软件包,请运行以下命令:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install python3-venv
如下图:

一旦安装了模块,我们就可以为Django应用程序创建一个虚拟环境了。
2、创建虚拟环境
首先转到要存储Python 3虚拟环境的目录。 它可以是您的主目录或您的用户具有读写权限的任何其他目录。
为Django应用程序创建一个新目录并导航到它:

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


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

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


上面的命令创建了一个名为venv的目录,其中包含Python二进制文件的副本,Pip包管理器,标准Python库和其他支持文件。 您可以为虚拟环境使用任何名称。
要开始使用此虚拟环境,您需要通过运行activate脚本来激活它:

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


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

3、安装Django

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

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

在虚拟环境中,您可以使用命令pip而不是pip3和python而不是python3。
要验证安装,请使用以下命令打印Django版本:
(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命令行实用程序:

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

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

(venv) linuxidc@linuxidc:~/www.linuxidc.com/linuxidc_django_app$ tree  linuxidcdjangoapp/
linuxidcdjangoapp/
├── linuxidcdjangoapp
│  ├── asgi.py
│  ├── __init__.py
│  ├── settings.py
│  ├── urls.py
│  └── wsgi.py
└── manage.py
1 directory, 6 files


在该目录中,您将找到用于管理名为manage.py的项目的主脚本和另一个目录,包括数据库配置,django和特定于应用程序的设置。
让我们迁移数据库并创建一个管理用户。
首先导航到linuxidcdjangoapp目录:

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

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

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

输出将如下所示:

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


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

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

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

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


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

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

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

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登录页面:

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

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

要停止开发服务器,请在终端中键入CTRL-C。
6、停用虚拟环境
完成工作后,通过键入deactivate来停用环境,您将返回正常的shell。
deactivate
总结
您已经学习了如何在Ubuntu 18.04计算机上创建Python虚拟环境并安装Django。 要创建其他Django开发环境,请重复本教程中概述的步骤。
如果您是Django的新手,请访问Django文档页面,了解如何开发您的第一个Django应用程序。
如果您遇到任何问题,请随时发表评论。
Django 3.0 发布,内置异步功能并支持MariaDB和Python 3.6、3.7和3.8 https://www.linuxidc.com/Linux/2019-12/161672.htm

Ubuntu 18.04环境下Django的安装配置图文详解相关推荐

  1. django配置环境linux,linux环境下Django的安装配置详解

    linux环境下Django的安装配置详解 1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django> ...

  2. ssh重装ubuntu_Ubuntu环境下SSH的安装及使用详解

    SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 . SSH的简介和工作机制 SSH简介 传统的网络服务程序,如:ftp.POP和telnet在 ...

  3. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...

    MySQL Database Service数据库服务器具有以下特点: 具有分析引擎的MySQL数据库服务: MySQL数据库服务是一项完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原 ...

  4. Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)

    MySQL Database Service数据库服务器具有以下特点: 具有分析引擎的MySQL数据库服务: MySQL数据库服务是一项完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原 ...

  5. 虚拟机VMware下CentOS6.6安装教程图文详解

    (1)参考链接 http://www.linuxidc.com/Linux/2016-05/131701.htm 转载于:https://www.cnblogs.com/choucat/p/74576 ...

  6. Windows Server 2016 IIS10 安装配置图文详解

    1.下载PHP 官网地址: http://php.net/ 下载地址: http://php.net/downloads.php 2.下载Windows Service Wrapper 官网地址: h ...

  7. ubuntu 16.04 环境下 vscode的 c++配置文件

    ubuntu 16.04 环境下 vscode的 c++配置 1.首先安装需要的插件 CodeRunner C/C++ 2.在工程根目录下创建.vscode文件夹,里面新建三个json配置文件 各配置 ...

  8. linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法

    本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误.安装pyenv其实非常的简单,只需要在系统 ...

  9. ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

    一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...

最新文章

  1. DDD领域驱动设计之聚合、实体、值对象
  2. 吴恩达机器学习笔记-应用机器学习的建议
  3. python定义一个圆类_(python)创建一个可以比较的自定义类
  4. 【高并发】面试官:性能优化有哪些衡量指标?需要注意什么?
  5. php如何导入数据,““php中如何将execl的数据导入到数据库中
  6. ABP入门系列(20)——使用后台作业和工作者
  7. php mysql显示不出图片_图片显示不出来,但是数据库里有显示
  8. springboot整合哨兵模式连接redis
  9. 25张图让你读懂神经网络架构
  10. 随心所欲生成git仓库随意一段commit的专用patch应用小实践
  11. 亲测window+iis+letsencrypt+ssl 手动续期(通配符域名)
  12. ART加载OAT文件的过程分析
  13. 2021年电子元器件行业涨价趋势已现
  14. Pygame实战之外星人入侵NO.12——点击按钮开始游戏
  15. DBCHART的使用
  16. 手机摄影中多摄融合理论详解与代码实战
  17. 太原理工大学计算机专业老师,郝晓燕 - 太原理工大学 - 信息与计算机学院
  18. [UOJ198]时空旅行
  19. python RTL自动生成_利用python自动生成证件照
  20. 小熊个人资料_TOP打野Xx小熊是谁 Xx小熊个人资料背景曝光实力超群

热门文章

  1. linux基础命令_Linux编程基础:常用命令
  2. 如何确定电脑主板坏了_原阳县地暖漏水如何检测
  3. python中label怎么绑定变量_Kivy将标签文本绑定到变量(仅限Python)
  4. java doget 和dopost_Servlet中的doGet和doPost
  5. java delete方法返回值_boolean delete()
  6. excel删除重复数据保留一条_Excel怎么快速查找和删除重复数据
  7. TOA定位算法性能仿真
  8. (原创)我眼中的设计模式系列之外观模式(二)
  9. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1
  10. 精通javascript笔记(智能社)——数字时钟