Python语法03

64 阅读12分钟
21.3.2 简单的表单组件

image.png

image.png

image.png

21.3.3 单选和多选组件

image.png

21.3.4 表单校验器

image.png

image.png

image.png

21.3.5 获取和设置表单组件中的数据

image.png

image.png

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

第22章 Python Web框架:Django

image.png

22.2 Django 基础知识

image.png 本节会介绍一些 Django 的基础知识,包括如何手工建立一个 Django 工程,如何使用 PyCharm 开发 Django 程序,以及获取用户请求信息,Cookie、Session 等内容。

22.2.1 建立第一个 Django 工程

本节将遵循学习新技术的标准做法,从 Hello world 开始学习 Django。为了让读者更有信心,本节首先要做的是让第一个 Django 程序能运行起来,而且不需要编写一行代码。 如果成功安装了 Diango,会有一个名为 django-admin.py 的脚本文件,如果使用的是 Anaconda:Python 开发环境,那么这个脚本文件就在<Anaconda 安装目录>/bin 目录中,建议将这个目录添加到PATH 环境变量中,这样在任何目录都可以执行 diango-admin.py 脚本文件。

现在进入终端(Windows是控制台)输入如下的命令,会在当前目录建立一个 HelloWorld 子目录该目录就是 Django 工程目录。 django-admin.py startproject HelloWorld 现在进入 HelloWorld 目录,然后执行下面的命令运行程序: python manage.py runserver 运行这行命令后,如果出现如图 22-1所示的信息,表示某些资源未被初始化现在按 Ctrl+C 键终止程序,然后执行下面的命令进行初始化: python manage.py migrate

image.png转存失败,建议直接上传图片文件

然后再执行 python manage.py runserver,就会正常运行程序,这个程序其实是 Django 内建的 Web服务器,直接可以处理 HTTP 请求。现在打开浏览器,在浏览器地址栏中输入如下的 URL: http://127.0.0.1:8000 如果在浏览器中显示如图 22-3所示的内容,表示已经成功创建并运行了第一个基于 Django 的 Web应用。

访问 http://ocalhost:8000,也可以得到图22-3 所示的效果。但通过远程访问的方式却显示“无法问此网站”。例如,假设本机的P 地址是 192.168.31.3,访问 http:/192.168.31.3:8000 是无法得到22-3 所示的页面的。要知道为什么会出现这个问题,以及如何解决这个问题,请参看下一节的内容。

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

22.2.2 Django工程结构分析

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

22.2.9 读写 Session

Sesion 与Cookie 有些类似,都是通过字典管理 key-value 对。只不过 Cookie 是保存在客户端的字典,而Session是保存在服务端的字典。Session可以在服务端使用多种存在方式,默认一般存储在内存中,一旦Web服务重启,所有保存在内存中的 Sesnion就会消失,为了让 sesion 即使在 Web服务重启后仍然能够存在,也可以将 Session 保存到文件或数据库中。不管如何保存 Session,操作上都是一样的。

Session 的另外一个重要作用是跟踪客户端。也就是说,当一个客户端浏览器访问 Web 服务后,关闭浏览器,再次启动浏览器,再次访问 web 服务。这时 Web 服务就会知道这个浏览器已经访问两次 Web 服务。这就是通过 Session 跟踪的。每一个客户端访问 Web 服务时都会创建一个单独的Session,同时为这个 Session生成一个ID,这里就叫它 Session-ID。这个 Session-ID 会利用 Cookie的方式保存在客户端,如果客户端再次访问 web 服务时,这个 Session-ID 也会随着 HTTP 请求发送结Web 服务,Web 服务会通过这个 Session-ID 寻找属于这个客户端的 Session。也就是说,如果客户端不支持 Cookie,那么 Session 是无法跟踪客户端的。当然,也可以用其他方式保存这个 Session-ID,但这个不在本章的讨论范围,这里只讨论 Session 和 Cookie 的关系。

读写 Session 都需要使用路由函数的request 参数,WSGIRequest 对象有一个 session 属性,这是一个字典类型的属性,所以可以用操作字典的方式读写 Session 中的 key-value。

image.png

22.2.10 用户登录

image.png 本节会利用 Session 实现一个用户登录的例子,这也是最典型的 Session 案例。实现的基本原理是当登录成功后,会将用户名以及其他相关信息写入 Session。如果用户再用同一个浏览器访问该 Web应用,就会从与客户端对应的 Session 中重新获取用户名和其他相关信息,这也表明用户处于登录状态,所以当用户第二次访问该 Web 应用时,除非 Session 过期,否则就无须登录了。

image.png

image.png

image.png

22.3 Django模版

image.png

image.png

image.png

image.png

image.png

image.png

image.png

第四篇 Python科学计算与数据分析

第23章 科学计算库:NumPy

image.png

image.png

23.3.2 获取数组值和数组的分片

NumPy 数组也指出与 python 列表相同的操作,例如,通过索引获得数组值,分片等。 image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

第24章 数据可视化库:Matplolib

image.png

24.1 Matplotlib 开发环境搭建

如果使用的是 Anaconda Python 开发环境,那么 Matplotlib 已经被集成进 Anaconda,并不需要单独安装。如果使用的是标准的Python 开发环境,可以使用下面的命令安装 Matplotlib: pip install matplotlib 如果要了解 Matplotlib 更详细的情况,请访问官方网站。网址如下: matplotlib.org 安装完 Matplotlib 后,可以测试一下 Matplotlib 是否安装成功。可以进入 Python 的 REPL 环境然后使用下面的语句导入 matplotlib.pyplot 模块,如果不出错,就说明 Matplotlib 已经安装成功了。import matplotlib.pyplot

24.2 基础知识

image.png

image.png

image.png

image.png

image.png

image.png

image.png

24.3 定制颜色和样式

image.png

image.png

第25章 数据分析库:Pandas

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

第五篇 Python Web爬虫技术

第26章 网络爬虫与Beautiful Soup

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

第27章 网络爬虫框架:Scrapy

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

第六篇 Python项目实战

第28章 Web项目实战:基于Flask的美团网

第29章 Web项目实战:基于Django的58同城

第30章 Web项目实战:天气预报服务API

第31章 Web项目实战:胸罩销售数据分析

第32章 GUI项目实战:动态修改域名指向的IP

image.png

image.png

image.png

image.png

image.png

第33章 游戏项目实战:俄罗斯方块

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

网络爬虫

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件

image.png转存失败,建议直接上传图片文件 image.png转存失败,建议直接上传图片文件