Python编程
未读在 Web 开发领域,Java 凭借企业级支持以及世界丰富的生态环境成为绝对霸主,PHP 紧随其后。
有些公司考虑效率问题而采用 C++ 做后台开发语言, 也有人使用 Node.js 开发后台。
另外 Python 也是能够做后台开发的。Python 具有语言简洁、开发效率高等特点。
还有成熟且不断更新的开源框架,例如 Flask、Django、Tornado等。
所以很多大公司都使用其开发后台。
比如人人皆知的 YouTube、Instagram、Reddit、Quora、知乎、豆瓣、果壳等。
因此,市场有 Python Web 开发的岗位需求。那么我想往这方面发展,我需要掌握哪些技能?
1.Python 语言想使用 Python 做后台开发,第一步就是就是学习 Python 语言。
首先要将学习 Python 基本语法,再学习 Python 高级用法(例如闭包,面向对象等),接着再了解各个标准库的用法,最后熟悉下 PEP8 编码规范。
2.开发框架大部分后台业务逻辑都会使用 Web 框架来开发,目的是提高开发效率。
常用的 Python web框架有 Django、Flask、T ...
Python编程
未读软件行业现在基本上是协同工作,不再是以前个人单打独斗的年代了。
在一个团队中,每个人可能负责一个或者多个模块。
如果团队没有统一的编程规范,会增加代码理解难度,从而增加维护成本。
所以遵循良好的编码风格,可以有效的提高代码的可读性,降低出错几率和维护难度。
另外,使用(尽量)统一的编码风格,还可以降低沟通成本。
网上有许多的编码规范,我介绍分享几个知名编码规范给大家参考学习。
PEP 8PEP 8 可以算是 Python 官方的标准编码规范。
它是用于规范 Python 主发行版中的标准库的代码。所以这个编码规范是值得一看。
PEP 8 文档地址
Google 的 Python 风格指南众所周知,Google 是开源大户。Google 会将项目托管到 Github 上面,任何人都可以 fork、 修改、提交。
如果代码贡献者的编程风格与 Google 的不一致, 会给代码阅读者和其他代码提交者造成不小的困扰。
Google 因此发布了这份自己的编程风格指南, 使所有提交代码的人都能获知 Google 的编程风格。
Google 的 Python 风格也是遵循 PEP8 规范。
...
Python编程
未读在我的 QQ 学习交流群中,有位读者问我一个很有代表性的问题,在这里和大家分享下。
猴哥,能说下自学的学习经验吗?我都自学 Python 一个月了。
在我看来,这个问题的本质就是找到属于自己的学习方法。
我把自己的经验分享给大家,希望对你们有帮助。在这之前,我要先说下学习效率的问题。
因为我觉得掌握知识 = 学习方法 + 学习效率。
美国著名学习专家爱德家·戴尔曾提出一种学习方式的理论。它其实是一张图,名为学习金字塔效率图。
在国内,我们最经常接触的三种学习方式分别是听讲,阅读,实践。
听讲指的是是上学时听老师讲课或者观看别人的教学视频。
由图可知,这是一种学习方式效率最低的。随着时间地流逝,遗忘的内容最多。
阅读书籍与听讲相比,则相对好点,但还是不高。
而实践以及教授给他人,这两个种方式往往是被大家所推崇。
因此,我们学习新领域的知识时,可以先通过看别人的教学视频或者阅读相关书籍来入门。但一定要去实践,这能确保自己学到大部分知识。
例如你正在看别人的 Python 入门课程,在课后自己要手动去敲代码。
值得注意的是,不要照着课程的代码来敲打,那是没有效果。
如果没有 ...
Python编程
未读如果你按照顺序,从第一篇文章读到本文。恭喜你,你已经将 Django 大部分基础知识掌握了。
后续的文章是在之前的基础上添砖加瓦或常用的应用。本文讲的内容是一个场景应用,新项目使用旧数据库。
可能以前项目是使用其他语言,如 Java 或 PHP 开发的,后面迁移到 Python 上。虽然应用程序改变了,但是数据却不是丢弃。
因此,存在这样的问题。那就是使用 Django 开发的 Web 应用程序如何使用旧的数据库?
我就使用旧的 SqLite 数据库作为例子进行讲解,MySQL 等其他数据库也是操作类似。
1.导入数据库旧的数据库名为 MyDataBase.db, 我将其导入到新项目的 db 目录。
然后将 settings.py 文件中的数据库名称修改下。
12345678DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # 系统自动生成 # 'NAME ...
Python编程
未读本文是自己 Django 学习笔记系列中第 8 篇,算是基础知识篇章中最后一篇笔记。
后续的笔记内容会相对比较综合。所以建议大家要把前面的内容,包括本篇笔记掌握。而本篇内容主要是讲解表单。
1.表单是什么?表单英文单词是 Froms, 它其实属于 HTML 的知识范畴。
HTML 表单可以实现用户和 Web 站点之间数据交互。表单允许用户将数据发送到 Web 站点。
但在大多数情况下,Froms 携带的数据发送到 Web 服务器,Web 页面会将其拦截并自己使用它。
举个栗子,用户使用浏览器访问一个页面,在页面的搜索框中输入图书的名称,想获取所有销售该图书的商店。
Web 站点需要获取图书名称的信息作为数据库查询条件,所以将数据拦截并获取图书的名称。
然后通过查询数据库,最后将查询到的所有商店信息返回给浏览器进行渲染显示。
另外,博客系统中的评论模块也是这个原理。因此,在一些站点上会爆出 XSS 漏洞。
原因可能是编码者没有对用户提交的数据进行过滤或者过滤不严,直接存储到数据库中。
2.HTML 表单这部分是给不熟悉 HTML 表单同学准备的,如果你已经掌握这部分知识。可以选择直接 ...
Python编程
未读本文是 Django 学习笔记系列的第七篇。前面 6 篇文章,我们已经了解了 Django MTV 模型中三个层的内容。
这部分内容算是最基础,也是最重要。
本文的内容相对简单,阅读起来会比较轻松些。
主要是介绍下 Django 默认管理后台以及一些实用后台管理系统的第三方应用。
1.前言每个网站无论大小,大型电商网站也好,个人博客也罢,它们都是一个管理后台。
管理后台可以看做一个窗口,管理员通过它来管理以及维护网站。
Django 作为一个全能型的框架,当然也自带了一个后台管理系统。
登录后台管理希望能对前端或者数据库数据进行增加、修改、删除等工作。我们现在就激动该系统来学习。
2.激活管理界面其实 Django 默认帮我们激活 admin 管理后台。
不知你还记得上次的操作? 当新建创建应用的,需要将刚创建的 app 加入到 setting.py 文件中。
在 setting.py 文件中,你会看到前面有很多应用。
123456789INSTALLED_APPS = [ 'django.contrib.admin', 'django.c ...
Python编程
未读上篇文章讲解了 Django 如何创建模型,本文将继续讲解如何对模型进行增删改查操作。
1.前言当我们建立好数据模型,Django 会自动为我们生成一套数据库接口相关的接口。
这套接口称为 QuerySet API。
为什么叫 QuerySet ?
因为从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet。
为了方便理解,我继续使用上篇文章的例子。
另外方便我们在打印对象信息时,能得到对象的信息。
所以我们需要对之前的代码做下修改。
分别为每个模型类添加一个方法 unicode()。 unicode() 方法告诉 Python 如何将对象以 Unicode 的方式显示出来。
为以上三个模型添加 unicode() 函数后,就可以看到效果了:
123456789101112131415161718192021222324from django.db import modelsclass Author(models.Model): name = models.CharField(max_length=40) email = models.EmailFie ...
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 成功之后,你会发现目录下会多出一些文件。这些文件主要跟工程配置有关系,跟具体业 ...