前言
上一节中,我们强烈推荐Python作为web开发的主要编程语言。接下来,我们将开始一步步安装和配置Python项目开发环境,并使用VSCode作为IDE工具,快速上手Python的WEB开发之旅。
最新消息:2018 IEEE顶级编程语言交互排行榜发布,Python卫冕成功,C++异军突起,雄踞第二,C语言和Java则退位让贤,分据第三和第四。
编外语:在实施内部综合服务型网站项目(代号为ROBIN)中,我们在充分考虑和权衡的基础上,采用了上节所述的开发框架和技术选型,并对内部团队开展了如下的初训和实战内容的学习,在一个月的时间内,团队已经掌握了前后端分离开发方式,并进入了开发状态。在随后的文章中,我们将逐步解析和跟踪项目的开发进展过程与大家分享,未来也可能会在适当的时候将项目开源,让更多的人参与到项目中来,推动项目不断进步和发展。
学习目标
在Windows操作系统下,实现Python开发环境的安装和配置,熟练使用VSCode编辑器进行Python项目开发,掌握在Django框架下的两种开发方式,一是Template模式开发,二是REST模式开发。重点学习Python编程语法,学习Django框架原理及使用方法。
- 安装Python3.6语言环境
- 创建Python项目的env环境
- VSCode中配套的插件安装,以及书写Python代码的过程
- 了解和掌握Django下两种不同模式的开发过程
相关软件下载
- 安装Python https://www.python.org/downloads/windows/
- 安装VSCode https://code.visualstudio.com/Download
- Navicat for MySQL 数据库管理软件,在测试环境中安装MySQL数据库后使用该工具远程管理数据库。
Python语言环境安装配置
下载Python3.6安装包 https://www.python.org/downloads/
安装到D:\Python36 目录下,安装时注意不选择将路径自动加入到PATH环境中,这样可以让多个Python程序环境并存。
打开命令行,设置Python程序搜索路径
set PATH=d:\python36;d:\python36\scripts;
若调用VScode集成终端操作时,出现错误提示:
【d:\python36\scripts : 无法将“d:\python36\scripts”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。】
请点击“文件”->“首选项”->“设置”,在右侧输入【"terminal.integrated.shell.windows": "C:\WINDOWS\System32\cmd.exe"】
将默认终端修改为“CMD”,再调用VScode中的CMD终端进行操作。
或者 命令行选择方式
按 Ctrl+P ,输入命令 >select default shell 后会显示多个Shell选项
选择 Command Prompt项即可。
安装虚拟python环境软件:pip install virtualenv
创建代码主目录srchome并进入,创建Python项目虚拟环境,假设项目名称t3。 virtualenv t3-env
建立t3项目文件夹,项目内容在该文件夹中,通过VSCode+Git进行管理。
启动创建的Python3虚拟环境t3-env
t3-env\scripts\activate
可以看见如下的提示行:
( t3-env ) D:\srchome>
- 制作方便启动的批处理文件t3.env.bat,文件中内容如下:
d:\srchome\t3-env\Scripts\activate
- 在VSCode中使用命令行。
ctrl+· / exit # 打开和退出 终端命令行
pip list # 显示Python环境中的安装包
VSCode环境安装及配置
- 在VSCode里安装python插件
- ctrl + shift + p 输入 ext install 选择“Extensions:install extension” 回车
- 再输入 python
- 等待安装成功
- 在vs code中配置运行python程序的命令
4.1) ctrl + shift + p 搜索Configure Task
4.2) 创建tasks.json
修改 Command “tsc” 为 “python”
修改 showOutput “silent” 为 “always”
修改 Arguments [“Helloworld.ts”] 为 [“${file}”]
删除 最后的一行属性 problemMatcher
保存更改
4.3) 使用 ctrl + shift + B 执行py程序文件
- 配置VSCode应用Python的VIRTUALENV环境
选择某个.py文件,点击右下角Python,选择配置"Python"语言基础设置...
在工作区设置中添加以下项:
"python.pythonPath": "D:\srchome\t3-env\Scripts\python.exe"
或者在打开项目文件夹时,点击“文件”->“首选项”->“设置”,在工作区设置中添加以下项::
"python.pythonPath": "D:\srchome\t3-env\Scripts\python.exe"
- VSCode终端进入后端项目环境(t3-env)
D:\srchome> t3.env
- VSCode里安装语法检查插件
安装flake8 官方语法检查插件(推荐),在项目的Python env中使用pip install flake8安装。
安装pylint 语言规范插件,控制代码标准和规范,和flake8选用一个,在项目的Python env中使用pip install pylint,网友评价比较说这个插件检查太严格。
Ctrl+P >select linter, 切换语言检查插件。
在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示。如果想继续使用pylint,以下是解决方案:http://www.cnblogs.com/chaojihexiang/p/6417835.html
vscode 编写python如何禁止 flake8 提示 line too long
使用vscode编写python还是挺舒服的,但是如果给vscode安装了语法校验插件,例如flake8,会常常提示一些非常苛刻的语法问题,其中最让人不能忍受的就是line to long. https://www.cnblogs.com/tangxin-blog/p/6065017.html
- 用VSCode写python的正确姿势。flake8代码检查 + yapf自动格式化代码 https://www.jianshu.com/p/5ee8ae8fcbd5
Django项目框架
安装django。
pip install django创建一个Django2项目
cd \srchome
django-admin startproject t3
cd t3 #进入项目目录
django-admin startapp hello
- 运行一个Django项目服务
python manage.py runserver 0.0.0.0:8001
使用 ctrl+c 关闭服务
如果直接 python manage.py runserver
则系统自动监听127.0.0.1的8000端口,访问的链接地址为http://127.0.0.1:8000
Django开发实例
- Django RESTful开发,前后端开发主要方式 http://blog.csdn.net/svalbardksy/article/details/50548073
通过这个实例,了解Django RESTful方式的开发流程。djangorestframework的官方文档:http://www.django-rest-framework.org/。
- Django 博客应用开发实例 http://blog.csdn.net/marksinoberg/article/details/51591005
通过Blog实例,了解Django模板渲染方式的开发流程。主要是models(模型)->更新数据表结构->views(视图,建立tempaltes)->admin(管理视图)->urls(添加访问路径)。
需要注意的是,在项目的settings设置中可以设置模板的路径,比如:'DIRS': [os.path.join(BASE_DIR, 'templates')],表示在项目的路径下的templates目录存放模板。
VSCode可选插件
- Guides,缩进线插件,让代码看起来更清晰
- vscode-todo,使VSCode支持TODO的插件
- vscode-icons 可以使VSCode左侧的资源管理器根据文件类型显示图标
- upload vscode插件,upload file to server with sftp
- Path Intellisense 自动路劲补全,默认不带这个功能的,赶紧装
- fileheader 顶部注释模板,可定义作者、时间等信息,并会自动更新最后修改时间
参考学习
- Django
官方网站:https://www.djangoproject.com/
django2.0中文文档 http://djangobook.py3k.cn/2.0/
Python中国社区,原django中国社区 http://www.django-china.cn
Django apps, projects and resources. https://github.com/rosarior/awesome-django
翻译小组中文文档 http://python.usyiyi.cn/
知乎 zhihu.com
segmentfault.com
Django视频教程 https://www.cnblogs.com/wangcp-2014/p/5590425.html
django入门与实践 https://www.imooc.com/learn/790