Python编程
未读上篇文章讲解模板。
你本文将讲解 “MTV” 中 M 层次,即模型层(数据存取层)。
模型这内容比较多,我将其拆分为 3 个部分来讲解。
同时,文章也配套了例子,你可以通过 阅读原文 来查看。
1.编程环境因为 Django 近期推出 Django 2.0 版本, 所以有必要再说明下。
如果你是按照本系列来学习 Django 框架的话,按照前面安装 Django 的方式,你安装 Django 版本应该是最新版本,即 2.0。
那么使用最新 Django 版本来学习可以吗?如果是学习的话,不用太在意版本。
当然学习最新的较好,因为可以学习新的 API。
同时,Django 2.0 不再兼容 Python 2 了,现在学习 Python 都建议采用 Python 3版本了。
另外 Django 1.8 官方只维护到 2018 年的 4 月,1.11 是最后一个兼容 Python 2 的 Django版本。
如果是项目需要升级 Django版本,需要兼容到 Python 2,那么要考虑用 1.11 版本了。
顺便补充下本文用的一些工具的版本:Python 版本是 3.6,Mysql 版本是 ...
Python编程
未读本文是自己 Django 学习笔记系列的第四篇原创文章。
主要接这篇文章的视图内容,讲解模板的用法。
另外也说下 Django 学习笔记系列的安排。
自己计划大概 15 篇文章的输出自己学习 Django 框架的内容,再用大概 10 篇文章进行实战开发,最后可能用少量的篇幅进行补充。
废话不多说,切回主题。
1.模板是什么通过之前文章,我们学会使用 render(request, 'content.html') 方法来返回静态页面。
但在一些页面中,页面需要根据不同场景(例如时间,角色)显示不同的数据。这就需要使用到模板(Template)。
模板通常是 HTML 文件,只不过其中带有特定的语句。
这些语句是用来存储并显示数据库中返回的数据。
另外,除了 HTML 文件外,Django的模板也能产生任何基于文本格式的文档。
我们就以一个简单的例子来开始学习模板。该模板是一段添加了些变量和模板标签的 html 文件。
如果你暂时看不懂其中的内容,没有关系,下面会逐步说明。
1234567891011121314151617181920212223242526<! ...
Python编程
未读本文章是自己学习 Django 框架的第三篇。前面两篇文章主要记录 Django 理论相关知识。
从本篇文章开始,将以理论和实战方式讲述 Django 框架的知识。
让我们一起来 coding 吧~
1.新建项目我们开发 Web 程序是基于 Django 框架,所以要想创建 Django 项目。
创建项目有两种方式,一种是使用 Django 管理任务 django-admin.py,另一种是借助 IDE 工具 Pycharm。
使用 django-admin.py1)新建project
在你准备存放项目的目录下,打开终端,执行新建命令。
123django-admin.py startproject Django_demo // Django_demo 为 project 的名称,你可随意命名// 如果执行失败,可以改用下面命令django-admin startproject Django_demo // Django_demo 为 project 的名称,你可随意命名
新建 Project 成功之后,你会发现目录下会多出一些文件。这些文件主要跟工程配置有关系,跟具体业 ...
Python编程
未读上篇文章讲述 Django 环境搭建, 在文章最后部分还有 6 篇 Django 简单入门的文章。
后来我自己以一个新手的角度来阅读文章,发现前面三篇文章能被够消化吸收。
但是后三篇文章理解起来可能会有点费劲,可能是我漏写了很多细节。
因此,本文先将前三盘文章的内容做一些补充说明,降低学习成本。
1.MVC 与 MTV在 Web 服务器开发领域,MVC 模式可以算是家喻户晓。
有些书籍或者文章说 Django 是一个 MVC 开发框架,另一些文章或者博客则说 Django 是 MTV 模式。
那么 MTV 模式是什么?
Django 又究竟是哪种模式?
Django 是一个遵循 MVC 开发模式的框架 。
我们先看下 MVC 的数据流向,了解 MVC 的工作流程。
M 是 Model 的意思 ,它是一个抽象层,用来构建和操作 Web 应用中的数据。同时,Model 层跟数据库打交道的层次,执行数据库数据的增删改查操作。
在 Django 项目中,Model 层逻辑是体现在 models.py 中,models.py中定义的各种类代表数据模型 model 。每个 model 是对应数 ...
Python编程
未读古人云:功遇善其事,必先利其器。在正式学习 Django Web 框架之前,我们要把准备工作做好。
准备工作主要是搭建开发环境,具体工作是安装 Python、创建虚拟环境 venv、安装 Django、安装 IDE 工具(Pycharm)。
1.安装 Python如果你使用的桌面系统是 Windows,你需要到 Python 官网下载安装包。
Linux 和 Mac 系统都自带了 Python 运行环境。Python 分为 2 和 3 版本,目前 Python 团队即将停止维护 Python 2 版本,所以建议安装 Python 3。
目前最新版本是 3.6.4。另外,本系列文章适合具备 Python 基础的同学。
如果你对 Python 基本语法还是很懵懂,建议你先把基础知识夯实。
2.创建虚拟环境 venv一提到 Python 虚拟环境,你会惊叹说为什么不用 virtualenv?
如果你生产或开发环境需同时支持 Python 2 和 Python 3 ,那就需要 virtualenv。
我们是从零开始学习 Django,所以可以直接使用 venv。简单来说,venv 模块是 P ...
Python编程
未读前段时间,有个读者留言跟我说,有空出使用 Python 实现 RESTful API 的教程。我一看,这正合我意。
自己很早就想学习 Python web。
之前有简单过了解些 Django 框架基础知识。但对于 Python Web,我还是研究不够深入。
因此,打算接下来一段时间。自己学习 Python Web,并将学习心得分享出来。
自己在 Web 方面是只菜鸟,所以请老鸟轻喷。
回到刚才话题,RESTful API 是个什么东西呢?
不妨我们先看下平常的网页是怎么回事。
我们平时浏览的网站,一般分为前端和后端。我们用浏览器观看页面的内容就是前端的工作。
前端采用 Html + CSS + JavaScript 技术来呈现页面内容以及页面效果。
后端主要负责维护数据库并返回前端请求数据库的数据。
如果我们有个需求,不需要那么华丽、炫酷的页面,只需要后端返回的数据。我们把这样的网络请求称为 RESTful API。再者,REST 描述的是在网络中 Client(PC 浏览器、手机 APP 等) 和 Server的一种交互形式;REST本身不实用,实用的是 RESTful API(R ...
Python编程
未读本文,猴哥分享几个 Python 编程的小技巧。
1.编码问题我们在爬取网站时,会经常抓取网页文本,但是打印文本会出现是一堆乱码。
这是为什么呢?原因是 Python 中字符对象分为两种,一种是 Unicode 对象,另一种是 str 对象。
字符在 Python 中又以 Unicode 对象为基础,所以我们定义的字符串在内存中以 Unicode 编码的形式存储。
另外,str 对象又可以有多种编码形式,如 UTF-8、GBK-2312 等。虽然不同编码的 str 对象能被解码成 unicode 对象,但是不同编码的 str 对象直接不能直接转换。
因此,如果字符串编码是 GB2312,将其存储到 list 中,再打印出来看到乱码是 Unicode 编码。
解决这个问题其实很简单,Unicode 作为中间编码。我们只要将一种字符编码(如 GB2312)的字符串解码为 Unicode 编码,再编码为另外一种字符编码(如 UTF-8)。
1234# 数据库以 UTF-8 形式保存字符串,而获取到的字符串是 GB2312str = getFromNetWork() # 获取网络字 ...
Python编程
未读我们编码过程中经常需要获取当前时间。当然, 这也离不开对时间类型进行转换运算。
本文主要讲解 Python 各种时间类型之间的转换。
1.处理时间的库Python 标准库中有两个处理时间的库。其中一个名为 datetime,另一个是time。
在 Python 官网文档中,datetime 是被定义为数据类型(Data Types)。
由此可见,datetime 是主要提供处理日期和时间的数据类型的模块。
它其中有几个常用的类型,例如:datetime.datetime、datetime.time、datetime.date 等,其中最主要的类是datetime.datetime。
因为它携带了 datetime.time 和 datetime.date 这两个所带的信息,能够比较齐全地输出,即能一次性就输出年、月、日、时、分、秒等日期和时间信息。
time 模块是归属于通用操作系统服务(Generic Operating System Services)类目中。time 模块主要提供各种时间转换的函数。
它服务于系统层次,Python 又是跨平台的,所以有些 API 只能在某些操 ...
Python编程
未读运维工程师经常使用 Python 编写脚本程序来做监控系统运行的状态。
如果自己手动使用 Python 的标准库执行系统命令来获取信息,会显得非常麻烦。既要兼容不同操作系统,又要自己处理解析信息。
为了解决的痛点问题,psutil 就横空出世。
它的出现无疑是运维工程师的福音。
运维小伙伴通过它执行一两行代码即可实现系统监控。
1.简介psutil全称是process and system utilities。
psutil 是一个跨平台的应用于系统监控、分析、以及对系统进程进行一定管理的 Python 第三方库。
它不仅能够轻松获取系统中正常运行的进程和系统利用率(例如 CPU、内存、磁盘、网络等)信息,还实现了跟 UNIX 系统命令行工具类似的功能。
可以说是运维工作的“必备品”。
它功能强大,操作简单。这也促使很多开源项目都集成它到自己项目中,不妨有谷歌的 GRR 项目、脸书的 osquery 项目等。
github 地址
2.安装安装 psutil 是有多种办法:通过 pip 安装,通过源码方式安装,通过下载 tar 压缩包来安装。其中通过 pip 的方式是最简单的。
1 ...
望着桌上的日历,我发现只剩下几张纸。
自己蓦然意识到 2017 年已经即将离去,2018 年即将到来。
已经到了年底,我们需要总结和回顾今年的历程。
让我们盘点 2017 年涉及 Python 重要事件。
1.2017 年最热门的话题莫过于人工智能。人工智能是一块崭新的研究领域,所以很多公司都很注重人工智能的研究。
走在前沿的,当属谷歌。
谷歌不仅完善用于开源人工智能项目 TensorFlow 文档,建立相关社区,而且还在中国成立 AI 中国中心。
虽然 TensorFlow 虽然是用 C++ 编写的,但是提供了一套 Python 的接口。
另外,吴恩达教授又开设人工智能课程。这种种让 Python 的人气一路高涨, 成为今年世界上最流行的编程语言。
TensorFlow
2.Python 社区在几年前就一直在讨论是否迁移到 GitHub 以改进开发流程。
就在今年 2 月份,Brett Cannon 在 Python 官方邮件组发消息,确定迁移到 GitHub 的日期。
这让 Python 正式迁移到源码托管平台 GitHub,拥抱了 Git 版本控制系统。
cpython
...










