- 博客(41)
- 收藏
- 关注
转载 http
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系...
2018-09-18 16:49:39
216
转载 JavaScript12--
在一个对象中绑定函数,称为这个对象的方法。在JavaScript中,对象的定义是这样的:var xiaoming = { name: '小明', birth: 1990};但是,如果我们给xiaoming绑定一个函数,就可以做更多的事情。比如,写个age()方法,返回xiaoming的年龄:var xiaoming = { name: '小明', ...
2018-09-02 20:16:17
347
转载 JavaScript11--
在JavaScript中,用var申明的变量实际上是有作用域的。如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量:'use strict';function foo() { var x = 1; x = x + 1;}x = x + 2; // ReferenceError! 无法在函数体外引用变量x如果两个不同的函数各...
2018-09-02 20:13:18
251
转载 JavaSript10--函数
我们知道圆的面积计算公式为:S = πr2当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:var r1 = 12.34;var r2 = 9.08;var r3 = 73.1;var s1 = 3.14 * r1 * r1;var s2 = 3.14 * r2 * r2;var s3 = 3.14 * r3 * r3;当代码出...
2018-09-02 13:02:43
218
转载 JavaScript9--iterable
遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。具有iterable类型的集合可以通过新的for ... of循环来遍历。用for ... of循环遍历集合,用法如下:var a = ['A', 'B', 'C'];var s = new Set(['...
2018-09-01 22:36:31
195
转载 JavaScript9--Map和Set
JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。为了解决这个问题,最新的ES6规范引入了新的数据类型Map。要测试你的浏览器是否支持ES6规范,请执行以下代码,如果浏览器报ReferenceError错误...
2018-09-01 22:31:56
145
转载 JavaScript8--循环
循环要计算1+2+3,我们可以直接写表达式:1 + 2 + 3; // 6要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。JavaScript的循环有两种,一种是for循环,通过初始条件、结束条件和递增条件来循环执行语句块:var x =...
2018-09-01 18:17:00
202
转载 JavaScript7--条件判断
JavaScript使用if () { ... } else { ... }来进行条件判断。例如,根据年龄显示不同内容,可以用if语句实现如下:var age = 20;if (age >= 18) { // 如果age >= 18为true,则执行if语句块 alert('adult');} else { // 否则执行else语句块 alert('teen...
2018-09-01 18:01:53
230
转载 JavaScript6--对象
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。JavaScript的对象用于描述现实世界中的某个对象。例如,为了描述“小明”这个淘气的小朋友,我们可以用若干键值对来描述他:var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School', height: ...
2018-09-01 17:49:58
333
转载 JavaScript5--数组
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。要取得Array的长度,直接访问length属性:var arr = [1, 2, 3.14, 'Hello', null, true];arr.length; // 6请注意,直接给Array的length赋一个新的值会导致Array大小的变化:var arr = [1, 2, 3];arr...
2018-09-01 17:47:05
271
转载 JavaScript4--
JavaScript的字符串就是用''或""括起来的字符表示。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:'I\'m \"OK\"!';表示的字符串内容是:I'm "OK"!转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字.
2018-09-01 13:06:04
348
转载 Javascript3--数据类型和变量
数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在JavaScript中定义了以下几种数据类型:NumberJavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:123; ...
2018-09-01 13:01:58
164
转载 JavaScript1
JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中:<html><head> <script> alert('Hello, world'); </script></head><body> ...</body&
2018-09-01 12:50:41
194
转载 Django(22)
13. 使用Github管理项目项目介绍到这里,基本就结束了,可对于真正的业务开发,还只是刚开始。不管是对于教程代码免费分享的需要,还是项目开发过程中的版本管理,Github都是我们首选的开源代码仓库,如果你没有私有仓库,并且不用保护代码,那么将项目上传到Github上是最佳的选择。关于如何使用Git软件请自行学习,或许以后有空我也会写点教程。如何在Pycharm中配合Github,则...
2018-08-19 17:48:44
230
原创 在Pycharm中使用GitHub
Pycharm是当前进行Python开发,尤其是Django开发最好的IDE,GitHub是程序员的圣地,几乎人人都在用,就不详细介绍两者了。本文假设你对Pycharm和Github都有一定的了解,并且希望在Pycharm下直接使用Github的版本控制功能。废话不多说,下面图文详解,全是干货。环境:Pycharm + git2.8 + github账户 + windows7/10...
2018-08-19 17:37:50
853
原创 邮件注册未完成 error535
SMTPAuthenticationError at /register/(535, b'5.7.8 authentication failed')Request Method: POST Request URL: http://127.0.0.1:8000/register/ Django Version: 2.1 Exception Type: S...
2018-08-18 21:34:08
477
转载 Django(21)
12. 邮件注册确认很自然地,我们会想到如果能用邮件确认的方式对新注册用户进行审查,既安全又正式,也是目前很多站点的做法。一、 创建模型既然要区分通过和未通过邮件确认的用户,那么必须给用户添加一个是否进行过邮件确认的属性。另外,我们要创建一张新表,用于保存用户的确认码以及注册提交的时间。全新、完整的/login/models.py文件如下:from django.db i...
2018-08-18 21:27:24
495
转载 Django(20)
11.使用Django发送邮件#我没完成,我不知道SMTP应该写在哪里,之后再做研究。通常而言,我们在用户注册成功,实际登陆之前,会发送一封电子邮件到对方的注册邮箱中,表示欢迎。进一步的还可能要求用户点击邮件中的链接,进行注册确认。下面就让我们先看看如何在Django中发送邮件吧。一、在Django中发送邮件其实在Python中已经内置了一个smtp邮件发送模块,Django在...
2018-08-18 21:17:51
853
转载 Django(19)
10. 注册视图前面我们已经完成了项目大部分内容,现在还剩下重要的注册功能没有实现。一、创建forms显而易见,我们的注册页面也需要一个form表单。同样地,在/login/forms.py中添加一个新的表单类:class RegisterForm(forms.Form): gender = ( ('male', "男"), ('femal...
2018-08-18 21:10:52
320
转载 Djago(18)
9. session会话因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的、独立的。通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户。对于静态网站,这可能不是个问题,而对于动态网站,尤其是京东、天猫、银行等购物或金融网站,无法识别用户并保持用户状态是致命的,根本就无法提供服务。你可以尝试将浏览器的cookie功...
2018-08-18 21:07:36
258
转载 Django(17)
8. 图片验证码#我现在反正有啥错检查不出来我就重启pycharm,不行就重启电脑。#这里面的captcha安装的时候给我报了一堆乱七八糟的错误,我就在setting中现搜的django-simple-captcha,但是后续操作告诉我没有这个模块,重启pycharm之后又可以用Terminal下载了,下载完了就好了。 为了防止机器人频繁登录网站或者破坏分子恶意登录,很多用户登录和...
2018-08-17 21:24:32
256
转载 Django(16)
7. Django表单我们前面都是手工在HTML文件中编写表单form元素,然后在views.py的视图函数中接收表单中的用户数据,再编写验证代码进行验证,最后使用ORM进行数据库的增删改查。这样费时费力,整个过程比较复杂,而且有可能写得不太恰当,数据验证也比较麻烦。设想一下,如果我们的表单拥有几十上百个数据字段,有不同的数据特点,如果也使用手工的方式,其效率和正确性都将无法得到保障。有鉴于此...
2018-08-17 21:20:13
534
转载 Django(15)
6. 登录视图数据模型和前端页面我们都已经设计好了,是时候开始完善我们的登录视图具体内容了。一、登录视图根据我们在路由中的设计,用户通过login.html中的表单填写用户名和密码,并以POST的方式发送到服务器的/login/地址。服务器通过login/views.py中的login()视图函数,接收并处理这一请求。我们可以通过下面的方法接收和处理请求:def login(...
2018-08-17 21:18:19
336
转载 Django(14)
5. 前端页面设计基本框架搭建好了后,我们就要开始丰富页面内容了。最起码,得有一个用户登录的表单不是么?(注册的事情我们先放一边。)一、 原生HTML页面删除原来的login.html文件中的内容,写入下面的代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-...
2018-08-17 17:37:56
275
转载 Django(13)
4. url路由和视图前面我们已经创建好数据模型了,并且在admin后台中添加了一些测试用户。下面我们就要设计好站点的url路由、对应的处理视图函数以及使用的前端模板了。一、 路由设计我们初步设想需要下面的四个URL:URL 视图 模板 说明 /index/ login.views.index() index.html 主页 /login...
2018-08-17 17:28:52
277
转载 Django(12)
3. admin后台在我们开发的初期,没有真实的用户数据,也没有完整的测试环境,为了测试和开发的方便,通常我们会频繁地使用Django给我们提供的Admin后台管理界面,创建测试用例,观察模型效果等等。一、 在admin中注册模型admin后台本质上是Django给我们提供的一个app,默认情况下,它已经在settings中注册了,如下所示的第一行!同样的还有session会话框架,后...
2018-08-17 17:26:05
305
转载 Django(11)
2. 设计数据模型使用Django开发Web应用的过程中,很多人都是急急忙忙地写视图,写前端页面,把最根本的模型设计给忽略了。模型中定义了数据如何在数据库内保存,再直白点说就是数据表的定义。这部分工作体现在Django的代码中,其实就是model类的设计。一、 数据库模型设计作为一个用户登录和注册项目,需要保存的都是各种用户的相关信息。很显然,我们至少需要一张用户表User,在用户表里...
2018-08-17 17:24:02
216
转载 Django(10)
1. 搭建项目环境一、建立虚拟环境每当我们开始一个新项目的时候,通常都会搭建一个全新、独立、隔离的项目环境,这样做的好处自然不必多说。有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中的virtualenv。virtualenv工具请自行安装,具体安装方法和使用说明,参考站内Python教程的《virtualenv 虚拟环境》章节。在Windows的CMD中,进入指定的...
2018-08-17 13:48:17
332
转载 Django(9)
virtualenv 虚拟环境有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11。再加上pip工具管理器的版本混乱问题。这就使得很多人在Python的环境管理上产生极大的混乱。通常每个项目,甚至项目不同阶段的版本,需要不同的Python解释器和依赖库。为了清晰明了,安全...
2018-08-17 13:16:41
191
转载 Django(8)
http://www.liujiangblog.com/course/django/163一些基础内容略过 使用MySQL数据库 在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。下面介绍一下如何在Django中使用MySQL数据库。一、安装MySQL不建议在Windows中部署MySQL...
2018-08-16 21:53:38
256
转载 Django(7)
前面我们编写了一个经过测试的投票应用,现在让我们给它添加一张样式表和一张背景图片。除了由服务器生成的HTML文件外,WEB应用一般需要提供一些其它的必要文件,比如图片文件、JavaScript脚本和CSS样式表等等,用来为用户呈现出一个完整的网页。在Django中,我们将这些文件统称为“静态文件”,因为这些文件的内容基本是固定不变的,不需要动态生成。对于小项目,这些都不是大问题,你可以将静...
2018-08-13 22:05:54
587
转载 Django(6)
本节将简要介绍Django的自动化测试相关内容。一、自动化测试概述什么是自动化测试测试是一种例行的、不可缺失的工作,用于检查你的程序是否符合预期。测试可以划分为不同的级别。一些测试可能专注于小细节(比如某一个模型的方法是否会返回预期的值?), 一些测试则专注于检查软件的整体运行是否正常(用户在对网站进行了一系列的输入后,是否返回了期望的结果?)。测试可以分为手动测试和自动测试。...
2018-08-13 21:57:00
217
转载 Django(5)
一、表单form为了接收用户的投票选择,我们需要在前端页面显示一个投票界面。让我们重写先前的polls/detail.html文件,代码如下:<h1>{{ question.question_text }}</h1>{% if error_message %}<p><strong>{{ error_message }}</stro...
2018-08-13 17:54:30
240
转载 Django(4)
视图和模板一、概述一个视图就是一个页面,通常提供特定的功能,使用特定的模板。例如:在一个博客应用中,你可能会看到下列视图:博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页面:显示指定年内的所有博客文章 基于月的博客页面:显示指定月内的所有博客文章 基于天的博客页面:显示指定日内的所有博客文章 发布评论:处理针对某篇博客发布的评论在我们的投...
2018-08-12 23:12:37
234
转载 Django(3)
一、数据库安装打开mysite/settings.py配置文件,这是整个Django项目的设置中心。Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装任何程序,就可以直接使用它。当然,如果你是在创建一个实际的项目,可以使用类似PostgreSQL的数据库,避免以后数据库迁移的相关问题。# mysite/settings.py# Data...
2018-08-11 00:24:07
184
转载 Django(2)
如果你使用的是2.0以上版本,在后面的章节中,你只需要使用from django.urls import re_path正确导入re_path()方法,并用它替换教程中的所有url()方法就可以了。非常简单!更多参考http://www.liujiangblog.com/course/django/182一、 新建项目进入你指定的项目保存目录,然后运行下面的命令:$ django...
2018-08-11 00:22:24
214
转载 Django(1)
1. 通过pip安装Django如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本。Django提供3种发行版本,推荐使用官方的稳定版本:你的操作系统提供的发行版本(Linux) 官方稳定版本(推荐) 开发测试版本Django本质上是Python语言的一个类库,因此可以通过pip工具安装。这也是最简便最好的安装方式。不建议通过下载安装包或者编译源码进行安装的方法,除...
2018-08-10 18:27:17
302
转载 Flask框架(3)
web 表单配置为了能够处理 web 表单,我们将使用 Flask-WTF ,该扩展封装了 WTForms 并且恰当地集成进 Flask 中。许多 Flask 扩展需要大量的配置,因此我们将要在 microblog 文件夹的根目录下创建一个配置文件以至于容易被编辑。这就是我们将要开始的(文件 config.py):CSRF_ENABLED = TrueSECRET_KEY = ...
2018-08-10 14:57:57
168
转载 Flask框架(2)
模板中控制语句Jinja2 模板同样支持控制语句,像在 {%…%} 块中。让我们在我们的模板中添加一个 if 声明(文件 app/templates/index.html):<html> <head> {% if title %} <title>{{title}} - microblog</title> {...
2018-08-10 14:47:37
213
原创 Flask框架(1)
pip install virtualenv **系统中安装 virtualenv**mkdir myprojectcd myprojectvirtualenv venvvenv\scripts\activate **激活虚拟环境(Windows)**(venv) $ pip install flask flask\Scripts\pip install...
2018-08-10 14:46:23
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人