Django入门,学会这些就够了!

Web 框架正在被广泛应用于Python程序开发中。其中,Django 框架是最全面、最受开发者喜爱的一种,包括国家地理、Instagram、Pinterest 在内的众多巨头均采用 Django 开发。

(用Django开发的ins网页版界面)

什么是 Django

Django 是一个由 Python 编写的开放源代码的 Web 应用程序开发框架。它采用了 MVT 软件设计模式,即 Model 模型、View 视图和 Templates 模板。它最初被开发出来用于管理劳伦斯出版集团旗下的新闻网站,于 2005 年在 BSD 许可下发布开源。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 的名字命名的。

Django 的主要目标是使得开发流程复杂、依赖数据库的网站变得简单。Django 注重各个组件间的低耦合性,遵循 DRY 原则。

Django 的核心

Django 框架的核心包括:

  • 面向对象的关系映射模型,支持编写对应数据表的映射类,这一点做得格外优秀

  • URL 分发器,基于正则表达式(Django2 中支持 path 编写简洁路径字段)

  • 视图系统,用于接收客户端请求和返回响应

  • 模板系统,内置 Jinja2 模板引擎,便于编写 Python 风格的动态数据处理代码

  • 轻量、独立的 Web 服务器,便于开发测试

  • 缓存框架,支持多种缓存方式

  • 中间件,对请求处理阶段进行额外操作

同时 Django 内置了一些针对新闻类网站的基础且实用的应用:

  • 可扩展的认证系统

  • 动态站点管理页面

  • 灵活的评论系统

  • CSRF Token 工具

  • 标记语言模板库

Django 和其他框架对比

在使用 Python 进行 Web 开发时,除了 Django 编程人员还有多种框架选择:

  • Flask:很轻量,可以迅速搭建一个简单的 Web 网站。

    它几乎没有组件限制,提供大量功能丰富且实用的插件,例如 Flask-Admin 后台管理插件、Flask-WTForm 表单管理插件、Flask-Login 登录功能插件、Flask-Migrate 数据表版本控制插件等。

    著名的科学网站果壳网就是使用 Flask 开发的。

  • Tornado:性能较高,支持异步处理,这是它最大的亮点。

    对 Restful API 设计良好,但没有针对数据库设计的优秀的 ORM 模块,这是比较麻烦的。

  • Bottle:更加轻量,只依赖于 Python 标准库,无法做到快速建站,在 Flask 面前几乎没有优势可言。

  • Aiohttp:是比较新的框架,它需要基于 asyncio 编写异步代码,性能方面不必担心,但框架完善还需要较长时间。

此外还有数种小众框架,它们都有一些独到之处,但在商用上的前途比较渺茫。对 Python Web 开发而言,小的网站会使用 Flask ,大型的网站就要用 Django 。

Django 还有一个优势,就是它自带海量的工具和功能组件,开发者可借助这些工具迅速搭建起 Web 应用。不仅如此,Django 的 Model 层还自带数据库 ORM 组件,即使不懂 SQL 也不影响数据库操作。凭借自带的后台管理,开发者仅需少量代码就可实现完整的后台数据管理。APP 可插拔的设计理念使得系统可维护性极高,即使随意对其添加和删除,也不会对整体系统产生影响。此外,Django debug 信息也非常详尽,方便在企业项目中快速纠错代码。

去哪学Django?

一、官方教程

Django官方提供了详尽的教程介绍:

https://docs.djangoproject.com

网页为全英文,内容专业性较强,适合有一定语言和编程基础的同学学习。

二、中文教程

1.《Django 基础入门》

https://www.lanqiao.cn/courses/1127

主要讲解了 Django 框架的基础知识,适合已经有 Python 基础同时想学习使用 Django 框架进行 Web 开发的同学。

2.《Django Web 框架入门实战》

https://www.lanqiao.cn/courses/1513

详细介绍了 Django 框架在 Web 开发过程中的应用,包括 MVT 模型、模型类的编写、数据模型关系、创建数据表、路由基础知识、HTTP 请求方法、Cookie & session 、视图函数的创建、模板文件的配置与后台管理功能等知识点。需要掌握 Python 基础语法、MySQL 数据库的基本操作以及 HTML 的基本知识。

三、实战项目

1.《Django 打造文件分享系统》

https://www.lanqiao.cn/courses/993

使用 Django 框架快速打造文件分享系统,实现搜索功能,分享功能,用户分享文件查询。通过实战,可以快速掌握 Django 的基础,以及一些 ORM 和 View 的高级用法。

2.《Django 实现问答社区》

https://www.lanqiao.cn/courses/1181

使用 Django 打造一个完整成熟的社区项目,实现了用户注册、讨论发布,讨论回复,站内搜索等主要功能。完成开发后,可以熟悉 Django 开发 Web 项目的基础流程,并在此项目的基础上进行自定义修改后,直接部署上线。

???????????? 点击文末的「阅读原文」,学习更多 Django 课程~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值