Django 模板


一、模板概述

在Django框架中,模板是可以帮助开发者快速生成呈现给用户页面的工具,模板的设计方式实现了我们MTV中V和T的解耦。

1.模板组成

HTML代码
动态插入的代码(挖坑、填坑逻辑控制代码)

2.作用

快速生成HTML页面

3.优点

模板的设计实现了业务逻辑与现实内容的分离
视图可以使用任何模板


Python web 开发之环境搭建 (Winsows 版虚拟机安装)


注明: Windows用户,初学者建议使用虚拟机方式,因为在Windows中会涉及到各种路径问题,在后续部署上线中会出现各类奇葩问题。 其实对于有开发经验的来说,其实用Ubuntu、CentOS、Windows、Mac都没有特别大的区别,不同系统只是操作习惯问题。【在开发环境和部署环境保持一致,在项目部署时可以减少不必要的麻烦】

一、VMware虚拟机

VMware Workstation下载安装即可

二、Ubuntu系统

Ubuntu18.04系统镜像下载

三、Ubuntu的安装

建议: 在断网情况下安装会比较快!


Python web开发之环境搭建(Mac版)


一、安装Python3

默认情况下Mac中Python2是已经存在的,Python3需要我们自己安装。

二、虚拟环境

python2和python3如何实现共存?通过虚拟环境来实现。

另外对于对于多项目时,所有的包都共用一个目录,很容易出现不小心更新了项目A的依赖,却影响了项目B用到的依赖的情况。这个时候就需要对环境进行隔离,使用虚拟环境让全局的site-packages目录非常干净和可管理。

Python社区中创建和管理虚拟环境的工具有virtualenv。这些工具可以帮助你快速创建一个单独、干净的Python环境,你可以把所需的包安装到各自孤立的环境中。

pip使用(python专用的包管理工具)

- pip install xxx  安装包
  指定源安装: pip install xxx -i https://pypi.douban.com/simple
- pip uninstall xxx 卸载包
- pip list 列出所有依赖包
- pip freeze 列出自己安装的依赖包


Vue 双向数据绑定之原理及实现 4


Vue 双向数据绑定之原理及实现 1
Vue 双向数据绑定之原理及实现 2
Vue 双向数据绑定之原理及实现 3

一、Compiler解析器

解析器的作用一方面是解析出视图中相关的指令,将数据填充到视图中,另一方面也是添加新的订阅者,在数据发生更新时,能同步更新到视图中。
有了解析器以后,整个模型就算是完整了,参考下图:
双向数据绑定完整模型

Vue中的模板指令非常多,而且也做了很多的兼容,所以我们这只做例如v-model, {{}}, v-on
基本思路:

1、把真实DOM元素转换为文档片段;
2、遍历文档片段中所有的节点,解析出双括号指令和v-xxx的指令;
3、根据不同的指令,添加不同的操作:
    v-model: 初始化数据,添加订阅器,同时添加input事件;
    v-text: 初始化数据,添加订阅器;
    v-on: 为当前元素节点添加对应的事件和回调;







Vue双向数据绑定之原理及实现3


一、实现原理

1. 从数据到视图的更新,是需要对数据进行监听劫持,这里我们设置一个监听器Observer来实现对所有数据的监听;

2. 设置一个订阅者Watcher,收到属性的变化通知并执行相应的函数,从而更新视图;

3. 设置一个解析器Compiler,解析视图DOM中所有节点的指令,并将模板中的数据进行初始化,然后初始化对应的订阅器。

二、Observer监听器

Observer是一个数据监听器,核心是Object.defineProperty(),对所有属性监听,利用递归来遍历所有的属性值,对其进行Object.defineProperty()操作。