黑马程序员技术交流社区

标题: [python] 学习经历帖 [打印本页]

作者: asd110    时间: 2018-11-15 08:25
标题: [python] 学习经历帖
一:时刻提醒自己,剩者为王
互联网时代是剩者为王的时代。激烈竞争,最后剩下来的都功成名成了英雄。正因如此,才有了今天的美团和滴滴。程序员之间的竞争也是时时存在的。当你觉得Django难的时候,别人也会觉得它难。最后只有不断学习能掌握Django核心技术的人才能在面试和实际工作中脱颖而出。中途放弃的人永远不会有什么成就,只有坚持才能胜利。
二:掌握必备的基础网站开发知识
跳跃学习是件非常累的事情。在学习Django网络开发前,你必需已经具备网站开发的一些基本语言和知识。这些知识包括前端的HTML, CSS语言和后端的SQL和Python。Javascript不是必须,可以先不了解。网上教程可以看菜鸟编程和W3CSchool。对于Python,你必须熟练了解面向对象编程的内容。当你觉得Django难的时候,建议重新学习下这些基础知识,直到你能看懂一个最简单的Django APP的代码为止。
三:分步学习消化Django基础知识
Django的5项基础核心技术包括模型(Model)的设计,URL的配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。高级技术包括用户的验证与授权,后台的设计和管理,数据缓存,文件处理和服务器端的配置等等。建议先学基础知识,然后再考虑使用高级技术。
四:从简单APP入手,多读Django项目代码

在你掌握了解Django的5项核心技术以后,你就可以开始尝试开发一些简单的网络应用APP了。可以先拿网站常见的功能性APP包括用户注册与登陆,博客与新闻管理,在线文章搜索,网络调查,用户留言与评论等开始。如果你不想有太多挫败感,可以先看下别人的代码,然后再做自己的项目。
五:学无止境,不要觉得自己慢
很多人会问学习Django到底要多久才能掌握核心技术?网上有些视频宣称2个小时就能把你教会。我是不信的。天才也需要一定的知识积累,何况我们不是天才。小编我比较愚钝,学习Django基础技术大概用了3个月。高级技术比如Cache缓存和REST Framework目前还在学习掌握中。

一、Django简介
  百度百科:开放源代码的Web应用框架,由Python语言编写......
  重点:一个大而全的框架,啥都替你考虑好了。
1. web框架介绍
  具体介绍Django之前,必须先介绍WEB框架等概念。
  web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。
  一般web框架的架构是这样的:

  其它基于python的web框架,如tornado、flask、webpy都是在这个范围内进行增删裁剪的。例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最精简和基本的框架。Django则是直接使用了WSGI,并实现了大部分功能。
2. MVC/MTV介绍
  MVC百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
  通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,就不详细说明了。       
  模型(model):定义数据库相关的内容,一般放在models.py文件中。
  视图(view):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。
  控制器(controller):定义业务逻辑相关,就是你的主要代码。  
  MTV: 有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。
3.Django的MTV模型组织
  目录分开,就必须有机制将他们在内里进行耦合。在Django中,urls、orm、static、settings等起着重要的作用。一个典型的业务流程是如下图所示:

那么我们学Django学的是什么?
1. 目录结构规范
2. urls路由方式
3. settings配置
4. ORM操作
5. 模板渲染
6.其它






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2