Django 介绍
缘起
随着 Python 语言的兴起,越来越多的程序员开始转向这门语言的学习。在我们学习完 Python 基础之后,就可以选择利用 Python 这门语言进行 Web 应用开发。而众多 Python Web 框架中,不得不提的就是现在已经发行到 2.x 版本的 Django。Django 是重量级选手中最有代表性的一位。许多成功的网站和 APP 都基于 Django:Instagram,Mozilla,Bitbucket 等,为什么这些知名网站都会使用 Django 来开发呢?没错,因为,Django 能够以最快的速度和最小的代价构建和维护高质量的 Web 应用。
在讨论代码之前不得不提 Django 的发展历史,学习一项知识总要追根溯源(虽然以下历史有大量 copy 嫌疑,大家还是稍稍看看嘛),对 Django 知根知底使用起来比较放心嘛。
Django 的历史
Django是从真实世界的应用中成长起来的,它是由美国堪萨斯(Kansas)州Lawrence 城中的一个网络开发团队的。它诞生于2003 年秋天,那时Lawrence Journal-World 报纸的程序员Adrian Holovaty和Simon Willison开始用 Python 来编写Web新闻程序。新闻界独有的特点是快速迭代,从开发到上线,通常只有几天或几个小时的时间。
Django 最初用来制作在线新闻 Web 站点,并于 2005 年加入了 BSD(Berkeley Software Distribution)许可证家族,成为开源网络框架。2008年Django有了DSF(Django Software Foundation),Django的发展就由这个基金会来主导。
Django 这一词语是根据比利时的爵士音乐家 Django Reinhardt 命名的,有希望 Django 能够优雅地演奏(开发)各种乐曲(Web 应用)的美好含义。
Django 的特点
要介绍 Django 的特点,跟 Django 的历史那就联系紧密了。这跟我们做人一样,你是什么样的人跟你从小到大的发展是息息相关滴。
1.做内容。Django 出生于新闻网站的环境,所以诸多特点非常适合内容聚合类的网站,比如新闻、博客、电商,这些网站能够提供动态、数据库驱动的信息,所以 Django 适合在动态内容管理系统。
2.开源文化。Django 不是一个科研项目或商业产品,来源于真实项目,Web 项目开发的问题也是 Django 开发者经常遇到的问题,所以开源就是让大家集思广益解决这些问题,节约时间,不用重复造*。
经过 Django 数 10 年的发展,官网介绍官网的特点如上图:“Django makes it easier to build better Web apps more quickly and with less code.”总的来说,Django 已经具备以下特点:
- 功能完善,容易上手,开发速度快,安全性强。
- 完善的文档:Django 有众多的应用和完善的在线文档
- 强大的数据访问组件:Django 的 Model 层自带数据库 ORM 组件,开发者无需学习其他数据库访问技术(DBI、SQLAlchemy 等)。
- 强大的
- 后台管理系统自动生成:自带完整的后台数据库管理 Web 控制台,用户可以基于此构建自己的后台管理模块。
介绍完这些特点,你是不是已经开始蠢蠢欲动了呢?下一章我们将带领大家动手安装
安装
因为 Django 程序是纯 Python 代码,所以用户在安装完 Python 环境后,可以利用 pip 工具使用如下命令安装 Django:
该命令将自动下载 Django 最新版本并进行安装。安装完成后可以进入 Python,通过进入 Python 环境验证 Django 是否安装成功:
如下图,Django 的版本是 2.2.4
如果读者想安装其他版本的 Django,可以指定版本号:
pip install django==1.11.7
如果使用 pip install 安装库比较慢,可以用豆瓣的镜像:
建立项目
在进行 Django 开发之前要先建立一个 Django 项目,命令如下:
该命令会在当前目录下建立一个子目录 mysite,这个子目录就是这个项目的名称,并在其中生成了 Django 开发的默认文件,mysite 的目录内容如下:
建立应用
每个 Django 项目可以包含多个 Django 应用。进入刚刚创建的的项目目录下,然后建立应用的命令如下:
命令完成后会在项目目录中建立如下目录及文件结构:
对其中的文件功能解析如下。
- migrations 包:用于在之后定义引用迁移功能。
- init.py:其中暂无内容,该文件的存在使得 app 成为一个 Python 包
- admin.py:管理站点模型的声明文件,默认为空。
- apps.py:应用信息定义文件。在其中生成了类 AppConfig,该类用于定义应用名等 Meta 数据。
- models.py:添加模型层数据类的文件。
- tests.py:测试代码文件。
- views.py:定义 URL 响应函数。
启动服务
在我们建立完 mysite 项目后,也就有了一个网站的基本框架,可以利用如下命令:
runserver 是启动网站的关键字,默认 IP 和端口号 http://127.0.0.1:8000/,启动 Web 服务器后即可通过浏览器访问这个 IP 地址即可看到测试页面,证明安装和启动正确,恭喜你。
可以使用 Control+C 来关闭服务器。
至此,我们已经看到了第一个网页,虽然很简陋,但我们可以慢慢学习 Django 然后不断完善它。