Django 是现在大量网页开发人员都在使用的一个开源代码Web应用框架,由Python语言写成。 自从Django问世以来,它体现的就是一种功能强大的设计理念。Django所坚持的原则就是将很多的库函数与框架结合,从而构造出一个功能强大的Web应用框架,与以往单独使用库函数的方式有所区别。
在Django框架中,包含了大量的库函数。例如: 身份验证函数 、 URL路由函数 、一个 模版系统 、一个 对象关系映射(ORM)函数 、以及一个 数据库migration模块 (初始为Django1.7版本)等等。这就是Django框架与传统Web应用框架(如:Flask框架)的不同之处。Flask框架在实现用户身份验证功能时,需要单独使用 Flask-Login模块 来完成。
功能强大,方便实用和具有良好的扩展性是完成框架构建的,两种截然不同的设计理念。它们之间并没有好坏之分,而是需要网页开发人员根据具体的需求,进行选择使用。
Django实质上是一个帮助网页开发人员完成 网页框架 搭建的工具。在学习 Django开发 的过程中,你需要了解它是如何将这些琐碎的功能库揉合在一起的,以及熟悉所有功能库函数的 目录表 。
在有了网页框架构建这一概念之后的10年时间里,Django取得了长足的发展。项目的性能和稳定性都有了巨大的改善,同时Django框架社区论坛也发展的如火如荼。正是基于这些原因,Django逐渐受到了网页开发人员的青睐,成为了他们在搭建网页框架时的不二之选。很多的程序设计工具书和网页开发网站中,都有大量详细的Django使用教程以及Django开发实例。现在,即使Django已经很成熟了,但设计人员仍在不断地对它进行改进,加入一些重要的新功能,以给使用者提供更好的用户体验。 数据库migrations模块 就是其中之一。
我极力推荐将Django作为一种更好的Python Web框架构建选择,是因为与其配套的官方文档资料和使用教程是百里挑一的。在这方面,Django可以说是做得最好的。全球的很多城市都拥有自己特定的Django研发团队,例如, Django网络社区 、 波士顿Django小队 以及 旧金山Django小队 等。这些致力于Django开发的团体,可以为从事Django开发的人员提供技术支持。当网页开发人员遇到Django开发瓶颈时,他们就会挺身而出,给予技术指导。
网络上一直存在着一个争论,即: 通过学习使用Django,是不是能够更好地掌握Python ? 大家对此意见不一。然而,如果你在对网页开发还一无所知的情况下,就盲目地花时间去学习Python这门语言,那么这只会事倍功半,收获甚微。因而,必须先从了解一门语言入手,循序渐进。
其实在一些应用程序开发论坛上,你可通过付费的方式,买到一些关于Django的电子版使用教程,而其中有些则可以免费使用。这些教程可作为 Django的入门教材,对你会有一定的帮助。自从10年前Django问世以来,它就一直处在更新换代的过程中。研发人员对其进行了大量的更新,进一步提高了Django的实用性。当你想要获得关于Django的最新更新说明时,你就需要仔细阅读下面的介绍了。在下文中,我将为读者推荐多部与Django相关的使用 指导书 ,希望读者能够认真阅读,特别是对从事Django项目开发的IT人员,更是大有裨益。
1 《Test-Driven Development with Python》
该书主要介绍的是如何使用Django和JavaScript,进行网页开发。本书采用了一个使用Django框架的网站开发实例,来说明如何在网页编写过程中,实现测试驱动开发(TDD)。同时也涉及了NoSQL数据库、Websocket协议以及异步响应的知识。你可在O'Reilly网站上,免费在线阅读此书;或交付一定的费用,购买此书的电子版。
2. 《Tango with Django》
本书是最近广受好评的一部Python网页框架搭建教程。用户可在Github社区免费阅读此书的中文版。一些网页开发人员表示,这本书确实让他们受益匪浅,帮助他们摆脱了最初学习网页框架搭建时遇到的瓶颈。最近,它又新增了一些内容,更新了Django1.7版的内容。
3. 《The Django Girls Tutorial 》
本书非常容易上手。即使你没有任何关于Python或Django的知识,都能读懂。同时,它还会教你如何开发出自己的第一个网页应用程序。
4. 《Two scoops of Django》
此书由Daniel Greenfeld和Audrey Roy共同撰写的。它需要读者付费阅读。但如果你对如何能够正确地使用Django框架非常感兴趣,那么价格应该不是问题,你一定会购买阅读的。
5. 《Effective Django》
本书是另一个能够免费阅读的Django框架使用教程。
6. 《The Django subreddit》
本书是一部很好的Django工具书,它包含一些关于介绍Django使用方法的网站链接,供读者学习使用。
7 《Django Advice Guide》
本书由Steve Losh编写,也是一部很不错的教程。
8. 《Lightweight Django》
本书通过几个经典的开发实例,介绍了Django的构成模块。
9. 《The Definitive Guide to Django Development》
本书介绍了Django的架构,包括实现自动设置的脚本。
10. 《Deploying a Django app on Amazon EC2 instance》
本书介绍了一个如何利用Django开发一个适用于亚马逊网站服务的App实例。
11. 《step-by-step guide for Django》
本书介绍了如何通过使用AJAX和JQuery,来传输数据。
12. 《django-awesome》
本书是一部介绍关于Django功能库和资源库的工具书。
13. 《Starting a Django Project》
本书能教你如何从零开始,开发一个Django项目。它用了多个实例,向读者展示了 如何通过使用Twitter引导程序、请求以及Github API接口,开发一个Django项目 。
14 《The recommended Django project layout》
本书适合刚接触Django网页开发的新手使用。它能教会新手如何在所要开发的app中,设置索引目录和配置文件。
15 《Python Social Auth for Django tutorial》
本书将向你展示如何将社交媒体登录按钮装入你的Django app应用中。
16 《approach to class based views》
Luke Plant在他的这本书中写到的,关于CBVs的介绍,在Django开发社区引发了热议:这些改进是否能缩短项目的开发周期,还是只是做做表面工夫。
17 《How to serve Django apps with uWSGI and Nginx on Ubuntu14.04》 和 《How to set up Django with PostgreSQL,Nginx and Gunicorn》
以上两本书详细介绍了网站开发项目过程中的每一个步骤。
18.另外,一篇 关于Python和Django的博文 中提到,在开发过程中,规划好每一部分项目的所用时间,是非常必要的,这同时也是一个程序员需要养成的良好习惯。
你是不是也在网络上寻找一些与上述书籍或文章对应的教学视频?,在后面的链接里,你便可以找到一些很棒的,与Django框架以及网页开发相关的 教学视频 。
Paul Hallett曾发表了一篇介绍 Django1.7版开发app的指导教程 。在这篇博文中,他介绍了自己关于使用Django-twilio工具包的心得体会。
Python真正的 migration初始模块 ,能够找出它与Django1.7版本中的migration模块的不同之处。
Andrew Pinkham所著的 《Upgrading to Django-1.7》系列文章 ,能帮助读者更好地理解新版本中的改动,让读者更好地适应更新之后的Django。读者现在可以免费阅读该系列文章了。
Django中的宕机migration模块 向我们展示了一个能够潜在执行的联机migration模式。
Django Channels是Django1.9版本中新增的一个插件(一开始是作为一个独立的应用程序,之后纳入了1.10版本的核心框架中)。它能实现浏览器和使用 Websocket协议 服务器之间的实时全双工通信。
https://blog.heroku.com/archives/2016/3/17/in_deep_with_django_channels_the_future_of_real_time_apps_in_django ,链接中的这篇博文将介绍如何在项目中使用Django Channels插件。
在该插件的实例库中,含有一些具有很高的参考价值的开发实例,例如:如何开发一个博客以及一个聊天应用程序的基本代码。
Channels目前使用的是Django现有的认证方案,但 《JSON Web Tokens authentication on Django Channels》 这篇博文却向我们展示了,如何使用 JWT(JSON Web Token) 来代替Django Channels插件,也能实现同样的功能。
《Offloading work using Django Channels》 是一篇短博文。它通过一个先前的实例,具体讨论了Channels插件的功能。要实现该插件的功能就需要在Django中增加一个稳定的数据传输机制,否则将无法使用Channels。
《Integrating Front End Tools with Django》 是一篇很棒的技术帖。它详细介绍了如何使用Gulp来控制在开发过程中使用的前端工具。
当你不知道应该从什么地方开始测试你的程序时, 《Getting Started with Django Testing》 文章中所讲述的内容,将会给予你帮助。
《Testing in Django》 展示了多个如何测试Django程序代码的实例。
《Django views automated testing with Selenium》 展示了一些实现 Selenium 功能实例代码,以及如何在带有Selenium插件的浏览器中进行测试。
《Getting Started with Django Rest Framework and AngularJS》 一文详细介绍了带有测试源代码的Djangular应用。
《Building Web Applications with Django and AngularJS》 一文介绍了如何将Django作为一个API接口来使用,以及如何将AngularJS作为一个MVC前端工具来使用的操作方法。
《end to end web app with Django-Rest-Framework&AngularJS》 一文的4部分内容介绍了如何通过Djangular来编写一个博客应用程序。在Github社区上,有一篇类似的文章 《Github repo》 ,提供了该实例的项目源代码。
Django-angular是Django的一个代码库。设计该代码库是为了在网页前端开发过程中,更好地将Django和AngularJS进行结合。Django-angular在这个过程中,就是起到了一个桥梁的作用。
在Django框架中自带的ORM(对象关系映射)模块被称为“The Django ORM”。读者可在 Python object-relational mappers page 文章中了解到Django ORM的相关内容。这篇文章是一篇专门介绍Django ORM的使用教程。
对于在Django中如何进行静态文件设置以及处理媒体文件,这对刚接触Django的新手来说,有一定的难度。这些带有 静态内容网页 的源文件,对于弄清如何处理这些媒体文件是有很大帮助的。
《Using Amazon S3 to Store your Django Site’s Static and Media Files》 一文详尽地介绍了如何处理静态设置文件和媒体文件。
《Loading Django FileField and ImagesFields from the file system》 一文展示了如何从文件系统中加载一个带有文件的模型字段。
《Restricting access to user-uploaded files in Django 》
本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:https://www.fullstackpython.com/django.html