MySQL SQL 介绍及 MySQL 安装(基础篇)
MySQL SQL 介绍及 MySQL 安装(基础篇)
数据库和 SQL 概念数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它的产生距今已有六十多年。随着信息技术和市场的发展,数据库变得无处不在:它在电子商务、银行系统等众多领域都被广泛使用,且成为其系统的重要组成部分。
数据库用于记录数据,使用数据库记录数据可以表现出各种数据间的联系,也可以很方便地对所记录的数据进行增、删、改、查等操作。
结构化查询语言(Structured Query Language)简称 SQL,是上世纪 70 年代由 IBM 公司开发,用于对数据库进行操作的语言。更详细地说,SQL 是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
MySQL 介绍MySQL 是一个 DBMS(数据库管理系统),由瑞典 MySQLAB 公司开发,目前属于 Oracle 公司,MySQL 是最流行的关系型数据库管理系统(关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据)。由于其体积小、速度快、总 ...
Django 表单
Django 表单
上手表单处理实例有时候我们需要在前端用 get 或 post 方法提交一些表单数据。在后端处理数据时,我们需要接受这些数据。本章就来介绍 Django 如何对表单数据进行接收操作的。
为了完成实验,我们先来写一个网页,其中用到 html 表单的知识。首先我们来写一个计算 a 和 b 之和的简单应用。在 learn 的 templates 目录之下,保存一个名为 index.html 的模板:
1234567891011121314<!DOCTYPE html><html><body><p>Please input 2 numbers:</p><form action="/add/" method="get"> a: <input type="text" name="a"> <br> b: <input ty ...
Django 模型(model)与数据库
Django 模型(model)与数据库
初步使用模型Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 Sqlite3、MySQL、PostgreSQL 等数据库,只需要在 settings.py 中配置即可,不用更改 models.py 中的代码,丰富的 API 极大的方便了使用。
我们继续沿用之前创建的 learn 这个 app 进行实验。修改 learn 中的 models.py 如下所示:
12345from django.db import modelsclass Person(models.Model): name = models.CharField(max_length=30) age = models.IntegerField()
这段代码中,我们新建了一个 Person 类,继承自 models.Model,一个人有年龄和姓名。这里用到了两种 Field,更多的可以查看本教程最后的链接处。
然后来执行同步数据库操作(我们使用默认的 sqlite3数据库,无需任何其他配 ...
Django 模板(template)
Django 模板(template)
添加模板文件继续使用之前的 dj4 项目,我们在 learn 这个 app 中添加功能。开始编辑其 views.py 文件,增加一个 home 方法:
123456789$ vim learn/views.pyfrom django.shortcuts import renderfrom django.http import HttpResponsedef index(request): return HttpResponse(u'Hello Shiyanlou!')def home(request): return render(request, 'home.html')
然后我们在 learn 目录下增加一个 templates 目录,用来放置模板文件。在 Django 的默认配置中,模板文件放在对应 app 的 templates 的目录中。所以我们新建的这个目录中存放的模板文件,Django 会自动在此查询文件。
新建 templates 目录,创建 home.html 文件:
123 ...
Django 视图与链接路由
Django 视图与链接路由
创建新项目使用之前已经安装的 Django 1.8.13 建立一个新的 Django 项目,并命名为 dj4。
1$ django-admin.py startproject dj4
运行后成功的话,可以看到如下的目录结构:
1234567.├── dj4│ ├── __init__.py│ ├── settings.py│ ├── urls.py│ └── wsgi.py└── manage.py
我们会发现,在新建的 dj4 目录中,其中还有一个 dj4 目录,这个子目录是 dj4 中的一些项目配置 settings.py 文件、总的链接路由 urls.py 以及部署服务器时用到的 wsgi.py 文件,init.py 是 Python 包的目录结构基础文件,与包的调用有关。
在当前的 dj4 目录下,新建一个应用,并命名为 learn。
1$ python3 manage.py startapp learn
成功后观察一下新创建的 learn 目录结构。
12345678.├── admin.py├── __init__.py├── ...
Django 基本命令
Django 基本命令
新建一个 Django Project这个命令我们在第一章中已经使用,可以翻看之前 HelloWorld 项目建立来实践:
1$ django-admin.py startproject project-name
注意,在 Windows 系统下,如果报错,尝试用 django-admin 代替 django-admin.py。
在输入完该条指令后,系统会在当前目录增加一个项目名目录,并且其中存有最基础的 Django 项目文件。
新建 app同样,在第一章中已经使用,可以翻看之前建立 Hello app 的操作流程来实践:
1$ python3 manage.py startapp app-name
另有一种写法:
1$ django-admin.py startapp app-name
一般一个项目会存有多个 app ,当然通用的 app 也可以在多个 Django 项目中通用这个 app。
同步数据库12$ python manage.py makemigrations$ python manage.py migrate
这种方法可以创建表,当你在 mod ...
Django 环境搭建与目录结构
Django 环境搭建与目录结构
使用 pip 组件进行安装先安装 pip 组件:
Ubuntu(Debian)1sudo apt-get install python3-pip
Fedora1yum install python3-pip
Windows使用 get-pip.py 进行安装。直接下载 get-pip.py ,然后在命令行下执行即可安装 pip 组件:
1$ python3 get-pip.py
macOS在 macOS 下,建议 Python 通过 Homebrew 进行安装。使用 Homebrew 安装后的 Python 自带 pip 组件。
如果 pip 版本过低,可以使用以下命令对 pip 进行升级(Windows 用户无需输入 sudo):
1$ sudo pip3 install --upgrade pip
在 pip 安装好的情况下,输入以下命令安装指定版本的 Django。由于本课程使用的 Django 版本号为 1.8.13,则输入以下命令即可:
1$ sudo pip3 install Django==1.8.13
使用源码包安 ...
Django Hello World
Django Hello World
Django 的特点Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!何为优雅,请看 Django 的以下特点:
强大的数据库功能用 Python 的类继承,几行代码就可以拥有一个丰富、动态的数据库操作接口(API),如果需要你也能执行 SQL 语句进行数据库的增、删、查、改操作。
自带的强大后台功能几行简单的代码就能让你的网站拥有一个强大的后台,轻松管理你的内容!
优雅的链接路由用正则匹配方式匹配链接,传递到对应的函数,随意定义,如你所愿。
Model(模板)系统易于扩展的 Model 系统,设计简易。易于代码解耦。
缓存系统与 memcached 或其他的缓存系统联用,更出色的表现,更快的加载速度。
国际化支持多语言英语,允许自定义翻译的字符,轻松翻译成多国语言。
Hello World
关于 Django 的环境搭建我们将在下一节中详细介绍,下面部分为初学 Django 的初体验,让读者感受 Django 搭建 Web 服务端的快捷。
在用户根目录下,新建一个 django 目录,用于保存本 ...
Python Flask 介绍
Python Flask 介绍
什么是 Flask?Flask 是一个 web 框架。也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序。这个 web 应用程序可以使一些 web 页面、博客、wiki、基于 web 的日历应用或商业网站。
Flask 属于微框架(micro-framework)这一类别,微架构通常是很小的不依赖于外部库的框架。这既有优点也有缺点,优点是框架很轻量,更新时依赖少,并且专注安全方面的 bug,缺点是,你不得不自己做更多的工作,或通过添加插件增加自己的依赖列表。Flask 的依赖如下:
Werkzeug 一个 WSGI 工具包
jinja2 模板引擎
维基百科 WSGI 的介绍:
Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口)。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。
什么是模板引擎?你搭建过一个网站吗?你面对过保持网站风格一致的问题吗,你不得不写多次相 ...
Python 项目结构
Python 项目结构
实验准备我们的实验项目名为 factorial。
12$ mkdir factorial$ cd factorial/
主代码我们给将要创建的 Python 模块取名为 myfact,因此我们下一步创建 myfact 目录。
12$ mkdir myfact$ cd myfact/
主代码将在 fact.py 文件里面。
1234567891011121314151617181920"myfact module"def factorial(num): """ 返回给定数字的阶乘值 :arg num: 我们将计算其阶乘的整数值 :return: 阶乘值,若传递的参数为负数,则为 -1 """ if num >= 0: if num == 0: return 1 return num * factorial(num -1) else: ...