自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 第三章:关于事件与样式

一、react中事件绑定与原生js的对比1、原生js中绑定事件的方式1、在行内直接使用<input type="button" value="按钮" onclick="alert()"/>2、 DOM0的绑定方法el.onclick = function(){ //}3、DOM3事件绑定方式el.addEventListener('click',()=>{},false);el.a

2017-07-30 11:49:30 556

原创 第二章:typescript与js开发react的区别

一、从定义文件格式方面说1、传统的开发模式可以定义js文件或者jsx文件2、利用ts开发定义的文件格式tsx二、定义state的状态来说1、传统的方式直接在构造函数中使用constructor(){ this.state = { num1:10 }}2、使用ts开发过程中需要先定义一个接口,规范数据类型,通过泛型传入到类中//定义一个接口规范state的类

2017-07-30 11:48:36 9651

原创 关于vscode编辑器缩进的问题

在利用angular-cli项目的时候往往纠结于缩进的问题一、设置tab缩进"editor.tabSize": 4,二、设置全部的文件都是4个字符缩进"editor.detectIndentation": false

2017-07-29 13:08:57 7765

原创 使用typescript构建react项目环境搭建

一、使用typescript开发react项目常见有两种方式1、使用webpack手动配置2、使用create-react-app脚手架二、使用webpack手动配置1、全局安装webpacknpm install webpack -g# 本人一般会安装这个服务的npm install webpack-dev-server -g2、创建一个项目目录3、进入项目文件,在黑窗口中输入命令np

2017-07-29 12:58:50 4110

原创 typescript在日常项目中开发的处理

一、安装基本的包1、npm install webpack -g2、npm install webpack-dev-server -g3、npm install -g typescript二、新建一个项目文件1、npm --init生成package.json文件2、tsc --init生成tsconfig.json文件三、各文件代码1、tsconfig.json文件***tscon

2017-07-28 09:27:23 951

原创 typescript总结笔记二

一、泛型的认识 泛型可以简单理解为类型变量,它是一种特殊的变量,只用于表示类型而不是值。二、定义一个简单的泛型1、定义泛型function identity<T>(arg: T): T { return arg;} identity就叫泛型函数2、直接调用这个函数(推荐)console.log(identity('hello'));console.log(identity(2

2017-07-27 15:09:42 632

原创 前后端分离开发中处理跨域问题汇总

一、通过CROS跨域 客户端不需要处理,只是服务器端需要添加一个头部1、服务器端设置Access-Control-Allow-Originres.set('Access-Control-Allow-Origin', 'http://localhost:3000');2、详细代码见01(01-CORS)二、使用JSONP处理跨域的问题 jsonp实质就是利用回调函数的处理方式,需要服务端配

2017-07-27 10:19:19 929

原创 第八章:Django开发中表单认识

一、说明Django中的表单与HTML中的表单不是一个东西二、Django中的表单是对HTML中表单提交过来的数据进一步的校正,使用步骤1、在组件(App)目录下创建一个forms.py的文件2、在文件中创建表单相关的类(下面错误error_messages提示是自己定义的) 注意在forms.py里面定义的变量要与form表单中的name一致from django import form

2017-07-26 15:32:57 929

原创 第七章:Django开发中cookie与session的使用

一、关于cookie与session的存在位置1、cookie存放在客户端2、session存在在服务器端二、一般项目中做登录拦截1、在登录视图中验证用户名与密码是否正确2、在服务器端利用uuid生成一个唯一的字符串(取名sessionid)3、sessionid当做cookie的值发送到客户端4、sessionid在服务器端当做session的key,用户名当做value存放到服务器

2017-07-26 12:50:06 1068

原创 typescript总结笔记一

一、数据类型1、boolean布尔值只能是true或者falselet isSave: boolean = true2、字符类型let name: string = '张三';3、数字类型let num1: number = 20;let num2: number = 12.34、数组类型,有两种表示方式let ary1: number[] = [1,2,3];let ary2: Arr

2017-07-25 12:48:03 814 1

原创 JavaScript操作cookie

let jsCookie = (function() { //读取cookies function getCookie(name) { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); return arr != null ? unescape

2017-07-24 16:56:35 688

原创 Django开发中关于复选框的使用

一、查询数据库遍历所有的复选框1、python查询数据库所有的tag# 新增文章def add(request): if request.method == 'GET': tags = TagModel.objects.all() return render(request, 'books_add.html', {'tags': tags}) el

2017-07-23 21:04:48 12486

原创 第七章:Django开发中数据库的高级使用

一、关于Django中的字段方法名与MySQL中字段匹配 MySQL字段 Django方法 描述 使用频率 int IntegerField 常用 samllint SmallIntegerField varchar CharField 要指定长度 常用 text TextField 表示很多文字的时候使用 f

2017-07-23 19:47:30 1051

原创 Django开发中时间的时区的处理

在Django项目开发中往往会出现时间与本人计算机上的时间不一致处理的方式在Django项目下的settings.py大概在155行修改为下面的内容TIME_ZONE = 'Asia/Shanghai'USE_TZ = False

2017-07-23 14:59:07 917

原创 第六章:Django对mySQL数据库的增删改查操作

上一章中介绍了用Django连接MySQL数据库,本章介绍最基本的增删改查操作,继续利用上一章创建的表一、新增数据1、引入数据模块from models import BlogModel2、利用模型创建数据blogModel = BlogModel(title='我是第一篇文章标题',content='我是第一篇文章的内容')3、利用save方法提交到数据库blogModel.save()

2017-07-22 22:29:51 11825

原创 第五章:Django连接mysql数据库

一、数据库的选择 不管是什么后端语言都需要跟数据打交道,对数据的增删改查等操作,Django有自己的一套ORM操作数据库的方式1、Django默认的数据库是sqlite2、一般我们常用ORM对mysql进行操作二、安装软件1、安装mysql(版本要大于5.5)软件2、安装MySQLdb(pip install MySQL-python),如果安装失败请尝试下面的方法1、首先通过pip安装

2017-07-22 21:57:42 11841

原创 第四章:Django自定义过滤器

一、自定义过滤器的介绍 前面我们就介绍过过滤器其实就是一个函数,把要过来的字段传递到一个函数内,进行加工处理,返回一个新的值展现在页面中,在实际开发中系统自带的过滤器有时候不能满足我们的需求的时候就要自定义二、Django中自定义过滤器有两种方式1、在组件(App)中的templatetags创建一个单独的py文件2、单独创建一个组件(App)用来存放项目中所有的自定义过滤器三、在项目中

2017-07-22 12:40:45 781

原创 第一章:Django开发中url配置及获取参数

一、关于关键词参数与可变参数的认识1、python代码中经常看到**kwargs这个就表示关键字参数 关键词参数赋值的时候是比如(name=xx) 2、python代码中经常看到*args这个就是可变参数二、django的项目架构1、组件app有些语言也叫模块,比如(新闻,博客,论坛),只是个人习惯叫组件2、一个django项目是由多个组件组装而成(累积而成)三、常用的命令1、创建项

2017-07-21 17:46:56 11175

原创 第三章:Django的模板使用

一、关于django中模板渲染数据的基本认识1、语法:{{变量名}}2、变量名是由字母、数字、下划线组成且首字符不能是数字3、变量的名称不能是python或者django中的关键词或者保留字4、可以传递字典、模型、方法、函数、列表到前端模板5、django只能以字典的形式传递数据到前端模板二、传递变量到前端页面1、在模板渲染中使用context关键字传递一个对象def index2(r

2017-07-20 22:17:30 1761

原创 第二章:Django模板的渲染

一、django中配置html模板路径的方式有 都是在项目文件的settings.py中配置1、使用相对路径(常用)'DIRS': ['templates']2、使用绝对路径'DIRS': ['F:/workTest/python/django/firstproject/templates'],3、使用OS模块查找路径(使用pycharm创建django项目就是这个)'DIRS': [os.

2017-07-20 19:32:25 1388

原创 angular部分知识总结

一、添加class1、[class.className]=fn()如果函数fn返回true表示会添加一个样式,如果返回为false则不添加样式二、关于子组件传递参数到父组件1、指定一个输出参数 javascript @Output() outputName[输出字段] = new EventEmitter() 2、为输出对象创建一个一个EventEmitter()见上面3、在子组件的视

2017-07-20 10:55:41 646

原创 Python-web开发验证码的制作

一、验证码一般是放在一个项目的工具方法中二、验证码的代码#!/usr/bin/env python# encoding: utf-8from random import randint,choicefrom PIL import Image,ImageDraw,ImageFontfrom cStringIO import StringIOfrom string import printab

2017-07-18 17:01:19 1885

原创 关于python-web开发中分页的处理

本案例基于tornado基础上一、分页的效果二、封装一个分页的方法#!/usr/bin/env python# encoding: utf-8""" 定义一个分页的方法 current_page:表示当前页面 countent:查询出来全部的数据 MAX_PAGE:表示一页显示多少,一般定义在一个常量的文件中"""def get_page_list(curr

2017-07-17 15:25:44 1804

原创 nodejs处理页面跳转url地址的处理

一、提出问题1、在我们做项目中一般点击列表页面到详细页面需要把当前点击的列表id传递到详细页面2、详细页面根据列表页面传递过来的id获取具体内容 二、处理方式1、query查询方式在详细页面的url?id=xxx这样的方式2、静态文件处理(更适合SEO搜索引擎)url/xx三、query查询方式处理代码1、前端代码(ejs模板文件)<% for(let index in data){%>

2017-07-16 22:30:38 24171 2

原创 常见文件的mime类型

可以直接复制过去创建一个mime.json文件{ ".323":"text/h323" , ".3gp":"video/3gpp" , ".aab":"application/x-authoware-bin" , ".aam":"application/x-authoware-map" , ".aas":"application/x-authoware-seg" , ".acx

2017-07-16 16:48:17 17063

原创 nodejs密码加密中生成随机数

方法一:Math.random().toString(36).substr(2)运行后的结果就是11位数的随机数方法二:1、定义函数function randomWord(randomFlag, min, max){ var str = "", range = min, arr = ['0', '1', '2', '3', '4', '5', '6',

2017-07-16 12:24:47 4650

原创 Base64加解密的方法

//1.加密解密方法使用://1.加密 var str = '123'; //需要加密的文字var base = new Base64(); var result = base.encode(str); console.log("加密后:"+result);//2.解密 var result2 = base.decode(result); //2.加密、解密算法封装:co

2017-07-16 12:12:32 2304

原创 关于nodejs中密码加密的处理

一、关于node加密模块crypto的介绍 其实就是使用MD5加密的,不太安全,在实际开发中根据自己的方案进行加盐处理二、在路由视图中使用加密方式1、导入node自带的加密模块(不需要安装)//导入加密模块const crypto = require("crypto");2、做一个用户注册,密码加密的视图<div class="col-md-6"> <h4>用户注册</h4>

2017-07-15 14:49:19 12572

原创 nodejs开发中关于cookie及session的设置

一、安装cookie相关的模块1、npm install cookie-parser二、在app.js文件中配置cookie相关的内容1、引入模块文件//引入cookie文件const cookieParser = require("cookie-parser");2、设置密钥//设置cookie,其中()里面的是密钥,随便写app.use(cookieParser("aaa"))三、

2017-07-15 13:01:24 4206

原创 nodejs开发中关于post提交数据

一、安装模块1、npm install body-parser --save二、在app.js中基本配置1、引入刚刚安装的body-parser模块//引入关于post提交数据的const bodyParser = require("body-parser");2、基本配置//设置用来接收json格式的数据app.use(bodyParser.json());//设置接收任何数据类型

2017-07-15 10:34:25 743

原创 普通表单与响应式表单的对比

一、模板驱动表单1、在用angular-cli脚手架创建项目的时候就会在app.module.ts文件中自动加入FormsModule模块2、FormsModule就是模板驱动表单的,为我们提供了两个指令 1、ngModel2、NgForm二、响应式表单1、响应式表单是ReactiveFormsModule需要我们手动在app.module.ts中添加2、响应式表单为我们提供了两个指令

2017-07-14 09:57:08 3221

原创 nodejs连接mysql数据库及基本认识

一、几个常用的全局变量1、__filename获取当前文件的路径2、__dirname获取当前文件的目录3、process.cwd()获取当前工程的目录二、文件的引入与导出1、使用require引入文件2、使用module.exports导出文件中指定的变量、方法、对象三、node项目的搭建目录结构demo package.json 当前项目所依赖的包或者模块 rout

2017-07-13 16:21:19 4165

原创 Es6中处理异步的方式

一、在javascript中造成异步的因素1、定时器2、事件二、使用Promise把异步变成同步 参考文档1、关于promise的基本使用/** * Promise需要实例化对象 * 里面是一个函数, * resolve是一个代表成功的函数,如果不调用这个函数,下面的函数无法继续进行 * 下面只能打印"第一个定时器" * reject是一个代表失败的函数 */var prom

2017-07-13 13:37:41 2585

原创 ajax实现上传文件进度条

<?php header('Content-type:text/html; charset="utf-8"'); $upload_position = 'uploads/'; if(strtolower($_SERVER['REQUEST_METHOD']) != 'post'){ exit_status(array('code'=>1,'msg'=>'错误提交

2017-07-12 16:56:54 1654

原创 HTML5中获取地理位置

btn.onclick = function () { /** * 在H5中获取地理位置是通过window.navigator属性中的 */ console.dir(navigator.geolocation); navigator.geolocation.getCurrentPosition((pos)=>{ //获取经度

2017-07-12 15:23:41 579

原创 关于angular中内置指令的介绍

一、关于ngIf的使用格式:*ngIf = "表达式" 表达式由自己随便定义,但是表达式返回的是布尔类型的值,如果返回的是假,那么就直接用DOM上移除<div *ngIf="true" >div1</div><div *ngIf="a > b" >div2</div><div *ngIf="str == 'yes'" >div3</div><div *ngIf="myfun()" >di

2017-07-12 10:42:54 590

原创 angular2开发小型项目

一、效果图1、上面form表单点击提交可以在下面创建一个卡片(前提是输入不能为空)2、使用局部变量获取输入框的值3、使用article.component.ts做数据层4、使用排序5 、使用@Input进行组件间数据传递二、代码见demo

2017-07-11 10:01:07 955

原创 ng-container的使用

ng-container既不是一个Component,也不是一个Directive,只是单纯的一个特殊tag。 这点类似于template,Angular复用了HTML5规范中template 的tag的语义,不过并没有真正利用其实现,因此在审查元素中是永远也找不到一个template元素的。 不过,由于ng-container并不是HTML5中的,为了保持区分度,采用了ng-作为前缀。

2017-07-11 08:55:39 14162

原创 js实现禁止浏览器后退

history.pushState(null, null, document.URL);window.addEventListener('popstate', function () { history.pushState(null, null, document.URL);});

2017-07-05 09:18:25 650

Angular权威教程

本书堪称 Angular 领域的里程碑式著作,涵盖了关于 Angular 的几乎所有内容。对于没有经验的人,本 书平实、通俗的讲解,递进、严密的组织,可以让人毫无压力地登堂入室,迅速领悟新一代 Web 应用开发 的精髓。如果你有相关经验,那本书对 Angular 概念和技术细节的全面剖析,以及引人入胜、切中肯綮的讲 解,将帮助你彻底掌握这个框架,在自己职业技术修炼之路上更进一步。 本书的读者对象为所有想要理解和学习 Angular 的前端开发人员

2017-10-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除