diff --git "a/Day01-15/Day15/code/res/Docker\345\205\245\351\227\250\346\225\231\347\250\213.pdf" "b/Day01-15/Day15/code/res/Docker\345\205\245\351\227\250\346\225\231\347\250\213.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..10e98241b09f1603b9557e74a2e6da7b404fa62a Binary files /dev/null and "b/Day01-15/Day15/code/res/Docker\345\205\245\351\227\250\346\225\231\347\250\213.pdf" differ diff --git "a/Day01-15/Day15/code/res/Python\350\257\276\347\250\213\345\244\247\347\272\262.pdf" "b/Day01-15/Day15/code/res/Python\350\257\276\347\250\213\345\244\247\347\272\262.pdf" deleted file mode 100644 index 90e2a92b6e6f2fcff033793f3551906ac171e7fe..0000000000000000000000000000000000000000 Binary files "a/Day01-15/Day15/code/res/Python\350\257\276\347\250\213\345\244\247\347\272\262.pdf" and /dev/null differ diff --git a/Day01-15/Day15/code/res/luohao.png b/Day01-15/Day15/code/res/luohao.png new file mode 100644 index 0000000000000000000000000000000000000000..31593b5ae4b56e5664ced9c11a5ff1cbb0ba0991 Binary files /dev/null and b/Day01-15/Day15/code/res/luohao.png differ diff --git a/Day01-15/Day15/res/image-crop.png b/Day01-15/Day15/res/image-crop.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4a9bf573c35c3c26e6aec04820da76a865b6e0 Binary files /dev/null and b/Day01-15/Day15/res/image-crop.png differ diff --git a/Day01-15/Day15/res/image-filter.png b/Day01-15/Day15/res/image-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..aac571ca36878655b587868e9999d3d547d76e4f Binary files /dev/null and b/Day01-15/Day15/res/image-filter.png differ diff --git a/Day01-15/Day15/res/image-paste.png b/Day01-15/Day15/res/image-paste.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5c39d97a8f693ca7796fe6e6cabe6fc1bf7380 Binary files /dev/null and b/Day01-15/Day15/res/image-paste.png differ diff --git a/Day01-15/Day15/res/image-putpixel.png b/Day01-15/Day15/res/image-putpixel.png new file mode 100644 index 0000000000000000000000000000000000000000..54712b7e03b89f95ca4a694e02ccee0b34037c2c Binary files /dev/null and b/Day01-15/Day15/res/image-putpixel.png differ diff --git a/Day01-15/Day15/res/image-rotate.png b/Day01-15/Day15/res/image-rotate.png new file mode 100644 index 0000000000000000000000000000000000000000..5db7459b8b539780441ef31f6d0bf9a07875c926 Binary files /dev/null and b/Day01-15/Day15/res/image-rotate.png differ diff --git a/Day01-15/Day15/res/image-show.png b/Day01-15/Day15/res/image-show.png new file mode 100644 index 0000000000000000000000000000000000000000..396cb5a7a224830993ed68a8f813e573f6dd9f16 Binary files /dev/null and b/Day01-15/Day15/res/image-show.png differ diff --git a/Day01-15/Day15/res/image-thumbnail.png b/Day01-15/Day15/res/image-thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..91c623f205598eab771823f7dfb60cd5286863ca Binary files /dev/null and b/Day01-15/Day15/res/image-thumbnail.png differ diff --git a/Day01-15/Day15/res/image-transpose.png b/Day01-15/Day15/res/image-transpose.png new file mode 100644 index 0000000000000000000000000000000000000000..685a280d5bd8152a68c740960588a8dcf54e1116 Binary files /dev/null and b/Day01-15/Day15/res/image-transpose.png differ diff --git "a/Day01-15/Day15/\345\233\276\345\203\217\345\222\214\345\212\236\345\205\254\346\226\207\346\241\243\345\244\204\347\220\206.md" "b/Day01-15/Day15/\345\233\276\345\203\217\345\222\214\345\212\236\345\205\254\346\226\207\346\241\243\345\244\204\347\220\206.md" index 5ae9892652df357e4bc4d783824150506c87bac8..d17be261caa368ee5a618cc0c7d68fae54f5d9eb 100644 --- "a/Day01-15/Day15/\345\233\276\345\203\217\345\222\214\345\212\236\345\205\254\346\226\207\346\241\243\345\244\204\347\220\206.md" +++ "b/Day01-15/Day15/\345\233\276\345\203\217\345\222\214\345\212\236\345\205\254\346\226\207\346\241\243\345\244\204\347\220\206.md" @@ -1,44 +1,122 @@ ## 图像和办公文档处理 -用程序来处理图像以及办公文档在实际开发中非常常见,我们可以通过Python生态圈中的第三方模块来完成这些操作。 +用程序来处理图像和办公文档经常出现在实际开发中,Python的标准库中虽然没有直接支持这些操作的模块,但我们可以通过Python生态圈中的第三方模块来完成这些操作。 ### 操作图像 #### 计算机图像相关知识 1. 颜色。如果你有使用颜料画画的经历,那么一定知道混合红、黄、蓝三种颜料可以得到其他的颜色,事实上这三种颜色就是被我们称为美术三原色的东西,它们是不能再分解的基本颜色。在计算机中,我们可以将红、绿、蓝三种色光以不同的比例叠加来组合成其他的颜色,因此这三种颜色就是色光三原色,所以我们通常会将一个颜色表示为一个RGB值或RGBA值(其中的A表示Alpha通道,它决定了透过这个图像的像素,也就是透明度)。 + + | 名称 | RGBA值 | 名称 | RGBA值 | + | :---: | :------------------: | :----: | :----------------: | + | White | (255, 255, 255, 255) | Red | (255, 0, 0, 255) | + | Green | (0, 255, 0, 255) | Blue | (0, 0, 255, 255) | + | Gray | (128, 128, 128, 255) | Yellow | (255, 255, 0, 255) | + | Black | (0, 0, 0, 255) | Purple | (128, 0, 128, 255) | + 2. 像素。对于一个由数字序列表示的图像来说,最小的单位就是图像上单一颜色的小方格,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置决定了该图像最终呈现出来的样子,它们是不可分割的单位,我们通常称之为像素(pixel)。每一个图像都包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。 #### 用Pillow操作图像 -- 剪裁图片 -- 调整图片大小 -- 旋转和翻转 -- 操作像素 -- 添加水印 +Pillow是由从著名的Python图像处理库PIL发展出来的一个分支,通过Pillow可以实现图像压缩和图像处理等各种操作。可以使用下面的命令来安装Pillow。 + +```Shell +pip install pillow +``` + +Pillow中最为重要的是Image类,读取和处理图像都要通过这个类来完成。 + +```Python +>>> from PIL import Image +>>> +>>> image = Image.open('./res/guido.jpg') +>>> image.format, image.size, image.mode +('JPEG', (500, 750), 'RGB') +>>> image.show() +``` + +![](./res/image-show.png) + +1. 剪裁图像 + + ```Python + >>> image = Image.open('./res/guido.jpg') + >>> rect = 80, 20, 310, 360 + >>> image.crop(rect).show() + ``` + + ![](./res/image-crop.png) + +2. 生成缩略图 + + ```Python + >>> image = Image.open('./res/guido.jpg') + >>> size = 128, 128 + >>> image.thumbnail(size) + >>> image.show() + ``` + + ![](./res/image-thumbnail.png) + +3. 缩放和黏贴图像 + + ```Python + >>> image1 = Image.open('./res/luohao.png') + >>> image2 = Image.open('./res/guido.jpg') + >>> rect = 80, 20, 310, 360 + >>> guido_head = image2.crop(rect) + >>> width, height = guido_head.size + >>> image1.paste(guido_head.resize((int(width / 1.5), int(height / 1.5))), (172, 40)) + ``` + + ![](./res/image-paste.png) + +4. 旋转和翻转 + + ```Python + >>> image = Image.open('./res/guido.png') + >>> image.rotata(180).show() + >>> image.transpose(Image.FLIP_LEFT_RIGHT).show() + ``` + + ![](./res/image-rotate.png) + + ![](./res/image-transpose.png) + +5. 操作像素 + + ```Python + >>> image = Image.open('./res/guido.jpg') + >>> for x in range(80, 310): + ... for y in range(20, 360): + ... image.putpixel((x, y), (128, 128, 128)) + ... + >>> image.show() + ``` + + ![](./res/image-putpixel.png) + +6. 滤镜效果 + + ```Python + >>> from PIL import Image, ImageFilter + >>> + >>> image = Image.open('./res/guido.jpg') + >>> image.filter(ImageFilter.CONTOUR).show() + ``` + + ![](./res/image-filter.png) ### 处理Excel电子表格 -Python的OpenPyXL模块让我们可以在Python程序中读取和修改Excel电子表格,LibreOffice Calc和OpenOffice Calc也都能处理Excel的电子表格文件,这就意味着OpenPyXL模块也能处理来自这些应用程序的电子表格。关于OpenPyXL的使用手册和使用文档可以查看它的[官方文档](https://openpyxl.readthedocs.io/en/stable/#)。 +Python的openpyxl模块让我们可以在Python程序中读取和修改Excel电子表格,当然实际工作中,我们可能会用LibreOffice Calc和OpenOffice Calc来处理Excel的电子表格文件,这就意味着openpyxl模块也能处理来自这些软件生成的电子表格。关于openpyxl的使用手册和使用文档可以查看它的[官方文档](https://openpyxl.readthedocs.io/en/stable/#)。 ### 处理Word文档 -| 属性 | 描述 | -| ------------- | ---------- | -| bold | 粗体 | -| italic | 斜体 | -| underline | 下划线 | -| strike | 删除线 | -| double_strike | 双删除线 | -| all_caps | 大写首字母 | -| small_caps | 大写首字母 | -| shadow | 带阴影 | -| outline | 轮廓显示 | -| rtl | 从右向左 | -| imprint | 凹嵌页面 | -| emboss | 凸出页面 | +利用python-docx模块,Pytho 可以创建和修改Word文档,当然这里的Word文档不仅仅是指通过微软的Office软件创建的扩展名为docx的文档,LibreOffice Writer和OpenOffice Writer都是免费的字处理软件。 ### 处理PDF文档 -PDF是Portable Document Format的缩写,使用.pdf作为文件扩展名。 \ No newline at end of file +PDF是Portable Document Format的缩写,使用.pdf作为文件扩展名。接下来我们就研究一下如何通过Python实现从PDF读取文本内容和从已有的文档生成新的PDF文件。 \ No newline at end of file diff --git "a/Day41-55/01.\345\277\253\351\200\237\344\270\212\346\211\213.md" "b/Day41-55/01.\345\277\253\351\200\237\344\270\212\346\211\213.md" index 8890beb03d3ea287b7ec0d11b6eb1b4f0e82e164..aff16dc87381494023455912cd4e632a3fb6e25d 100644 --- "a/Day41-55/01.\345\277\253\351\200\237\344\270\212\346\211\213.md" +++ "b/Day41-55/01.\345\277\253\351\200\237\344\270\212\346\211\213.md" @@ -1,4 +1,4 @@ -## Django实战(01) - 快速上手 +## 快速上手 Web开发的早期阶段,开发者需要手动编写每个页面,例如一个新闻门户网站,每天都要修改它的HTML页面,随着网站规模和体量的增大,这种方式就变得极度糟糕。为了解决这个问题,开发人员想到了用外部程序来为Web服务器生成动态内容,也就是说HTML页面以及页面中的动态内容不再通过手动编写而是通过程序自动生成。最早的时候,这项技术被称为CGI(公共网关接口),当然随着时间的推移,CGI暴露出的问题也越来越多,例如大量重复的样板代码,总体性能较为低下等,因此在时代呼唤新英雄的背景下,PHP、ASP、JSP这类Web应用开发技术在上世纪90年代中后期如雨后春笋般涌现。通常我们说的Web应用是指通过浏览器来访问网络资源的应用程序,因为浏览器的普及性以及易用性,Web应用使用起来方便简单,免除了安装和更新应用程序带来的麻烦,而且也不用关心用户到底用的是什么操作系统,甚至不用区分是PC端还是移动端。 @@ -292,15 +292,15 @@ Django诞生于2003年,它是一个在真正的应用中成长起来的项目 output.write('\t
\n') output.write('\t\n') output.write('\t\t\n') - output.write('\t\t\t\n') - output.write('\t\t\t\n') - output.write('\t\t\t\n') + output.write('\t\t\t\n') + output.write('\t\t\t\n') + output.write('\t\t\t\n') output.write('\t\t\n') for dept in depts_list: output.write('\t\t\n') - output.write(f'\t\t\t\n') - output.write(f'\t\t\t\n') - output.write(f'\t\t\t\n') + output.write(f'\t\t\t\n') + output.write(f'\t\t\t\n') + output.write(f'\t\t\t\n') output.write('\t\t\n') output.write('\t
部门编号部门名称所在地部门编号部门名称所在地
{dept["no"]}{dept["name"]}{dept["location"]}{dept["no"]}{dept["name"]}{dept["location"]}
\n') output.write('\n') @@ -310,7 +310,7 @@ Django诞生于2003年,它是一个在真正的应用中成长起来的项目 7. 刷新页面查看程序的运行结果。 - ![](./res/runserver01.png) + ![](./res/show-depts.png) #### 使用视图模板 diff --git "a/Day41-55/02.\346\267\261\345\205\245\346\250\241\345\236\213.md" "b/Day41-55/02.\346\267\261\345\205\245\346\250\241\345\236\213.md" index ffa940e27c6fba6a992f338823c31f45dcf50821..5772496c6432a9a8f006980f384ce2a98cc79e62 100644 --- "a/Day41-55/02.\346\267\261\345\205\245\346\250\241\345\236\213.md" +++ "b/Day41-55/02.\346\267\261\345\205\245\346\250\241\345\236\213.md" @@ -1,4 +1,4 @@ -## Django实战(02) - 深入模型 +## 深入模型 在上一个章节中,我们提到了Django是基于MVC架构的Web框架,MVC架构追求的是“模型”和“视图”的解耦合。所谓“模型”说得更直白一些就是数据,所以通常也被称作“数据模型”。在实际的项目中,数据模型通常通过数据库实现持久化操作,而关系型数据库在很长一段时间都是持久化的首选方案,下面我们以MySQL为例来说明如何使用关系型数据库来实现持久化操作。 diff --git "a/Day41-55/03.\351\235\231\346\200\201\350\265\204\346\272\220\345\222\214Ajax\350\257\267\346\261\202.md" "b/Day41-55/03.\351\235\231\346\200\201\350\265\204\346\272\220\345\222\214Ajax\350\257\267\346\261\202.md" index f389aee11dfa163f7cb9968810d448c2abb34dec..e3bd4d09c184f7cfff1aae40b10562b99310a147 100644 --- "a/Day41-55/03.\351\235\231\346\200\201\350\265\204\346\272\220\345\222\214Ajax\350\257\267\346\261\202.md" +++ "b/Day41-55/03.\351\235\231\346\200\201\350\265\204\346\272\220\345\222\214Ajax\350\257\267\346\261\202.md" @@ -1,4 +1,4 @@ -## Django实战(03) - 静态资源和Ajax请求 +## 静态资源和Ajax请求 基于前面两个章节讲解的知识,我们已经可以使用Django框架来实现Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入应用首先查看到“学科介绍”页面,该页面显示了一个学校所开设的所有学科;通过点击某个学科,可以进入“老师介绍”页面,该页面展示了该学科所有老师的详细情况,可以在该页面上给老师点击“好评”或“差评”,但是会先跳转到“登录页”要求用户登录,登录成功才能投票;对于未注册的用户,可以在“登录页”点击“新用户注册”进入“注册页”完成用户注册,注册成功后会跳转到“登录页”,注册失败会获得相应的提示信息。 @@ -229,10 +229,12 @@ urlpatterns = [ ] ``` -启动服务器运行项目,效果如下图所示。 +启动服务器运行项目,进入首页查看学科信息。 ![](/Users/Hao/Desktop/Python-100-Days/Day41-55/res/show-subjects.png) +点击学科查看老师信息。 + ![](./res/show-teachers.png) ### Ajax请求 diff --git "a/Day41-55/04.\350\241\250\345\215\225\347\232\204\345\272\224\347\224\250.md" "b/Day41-55/04.\350\241\250\345\215\225\347\232\204\345\272\224\347\224\250.md" index 5bdcb2b2af966bdf26ea3b53ff2089c027661173..c4344735f614cc5cd91ddeca599eed04387412f5 100644 --- "a/Day41-55/04.\350\241\250\345\215\225\347\232\204\345\272\224\347\224\250.md" +++ "b/Day41-55/04.\350\241\250\345\215\225\347\232\204\345\272\224\347\224\250.md" @@ -1,4 +1,4 @@ -## Django实战(04) - 表单的应用 +## 表单的应用 我们继续来完成上一章节中的项目,实现“用户注册”和“用户登录”的功能,并限制只有登录的用户才能为老师投票。Django框架中提供了对表单的封装,而且提供了多种不同的使用方式。 diff --git "a/Day41-55/05.Cookie\345\222\214Session.md" "b/Day41-55/05.Cookie\345\222\214Session.md" new file mode 100644 index 0000000000000000000000000000000000000000..77e9a3c79a6f0be2eabb70fa825850c0a4ddaf6c --- /dev/null +++ "b/Day41-55/05.Cookie\345\222\214Session.md" @@ -0,0 +1,3 @@ +## Cookie和Session + + diff --git "a/Day41-55/05.Cookie\345\222\214\344\274\232\350\257\235.md" "b/Day41-55/05.Cookie\345\222\214\344\274\232\350\257\235.md" deleted file mode 100644 index 60488643821c5c4dbb44ee6110b05c795b24fadc..0000000000000000000000000000000000000000 --- "a/Day41-55/05.Cookie\345\222\214\344\274\232\350\257\235.md" +++ /dev/null @@ -1,3 +0,0 @@ -## Django 2实战-05:Cookie和会话 - - diff --git "a/Day41-55/06.\344\270\255\351\227\264\344\273\266\347\232\204\345\272\224\347\224\250.md" "b/Day41-55/06.\344\270\255\351\227\264\344\273\266\347\232\204\345\272\224\347\224\250.md" index e41216c5b8249123ac178489bdc24695e3066eb1..4c70b777499438994a82ddf5704ceb742a48ab25 100644 --- "a/Day41-55/06.\344\270\255\351\227\264\344\273\266\347\232\204\345\272\224\347\224\250.md" +++ "b/Day41-55/06.\344\270\255\351\227\264\344\273\266\347\232\204\345\272\224\347\224\250.md" @@ -1,4 +1,4 @@ -## Django 2实战06:中间件的应用 +## 中间件的应用 diff --git "a/Day41-55/07.\346\227\245\345\277\227\345\222\214\350\260\203\350\257\225.md" "b/Day41-55/07.\346\227\245\345\277\227\345\222\214\350\260\203\350\257\225.md" index 7762bf07a366c418ea6d701124cc3a9e4b2b42e1..a9ad1fc66e0666b112664322b9b657bd9beb570b 100644 --- "a/Day41-55/07.\346\227\245\345\277\227\345\222\214\350\260\203\350\257\225.md" +++ "b/Day41-55/07.\346\227\245\345\277\227\345\222\214\350\260\203\350\257\225.md" @@ -1,4 +1,4 @@ -## Django 2实战-07:日志和调试 +## 日志和调试 diff --git "a/Day41-55/08.\346\226\207\344\273\266\344\270\212\344\274\240\345\222\214\345\257\214\346\226\207\346\234\254\347\274\226\350\276\221.md" "b/Day41-55/08.\346\226\207\344\273\266\344\270\212\344\274\240\345\222\214\345\257\214\346\226\207\346\234\254\347\274\226\350\276\221.md" index 20e31f90d69bed44721f7e64044a0d329bb5033f..33d5f3f0dc92fe9c9435bcf2386da9c0c31ebc64 100644 --- "a/Day41-55/08.\346\226\207\344\273\266\344\270\212\344\274\240\345\222\214\345\257\214\346\226\207\346\234\254\347\274\226\350\276\221.md" +++ "b/Day41-55/08.\346\226\207\344\273\266\344\270\212\344\274\240\345\222\214\345\257\214\346\226\207\346\234\254\347\274\226\350\276\221.md" @@ -1,4 +1,4 @@ -## Django 2实战08:文件上传和富文本编辑 +## 文件上传和富文本编辑 diff --git "a/Day41-55/09.\346\226\207\344\273\266\344\270\213\350\275\275\345\222\214\346\212\245\350\241\250.md" "b/Day41-55/09.\346\226\207\344\273\266\344\270\213\350\275\275\345\222\214\346\212\245\350\241\250.md" index 0a9ae68683aa91a6643cda48287439425ba5987a..c57794e64617c3d3af38ac1e33577cb690697bbc 100644 --- "a/Day41-55/09.\346\226\207\344\273\266\344\270\213\350\275\275\345\222\214\346\212\245\350\241\250.md" +++ "b/Day41-55/09.\346\226\207\344\273\266\344\270\213\350\275\275\345\222\214\346\212\245\350\241\250.md" @@ -1,4 +1,4 @@ -## Django 2实战08:文件下载和报表 +## 文件下载和报表 diff --git "a/Day41-55/10.RESTful\346\236\266\346\236\204\345\222\214DRF\345\205\245\351\227\250.md" "b/Day41-55/10.RESTful\346\236\266\346\236\204\345\222\214DRF\345\205\245\351\227\250.md" index b982845692a46d4dc59f168c8c3772dc09079f13..1af876ffe2ed9034a56db5db7eb414e267bfa6f3 100644 --- "a/Day41-55/10.RESTful\346\236\266\346\236\204\345\222\214DRF\345\205\245\351\227\250.md" +++ "b/Day41-55/10.RESTful\346\236\266\346\236\204\345\222\214DRF\345\205\245\351\227\250.md" @@ -1,4 +1,4 @@ -## Django 2实战10:RESTful架构和DRF入门 +## RESTful架构和DRF入门 diff --git "a/Day41-55/11.RESTful\346\236\266\346\236\204\345\222\214DRF\350\277\233\351\230\266.md" "b/Day41-55/11.RESTful\346\236\266\346\236\204\345\222\214DRF\350\277\233\351\230\266.md" index b89f3eba0a9d3c930141134a5c349b162921b3d4..13253232a9a9cfe4cf27f0c8f9e763240a2e30ad 100644 --- "a/Day41-55/11.RESTful\346\236\266\346\236\204\345\222\214DRF\350\277\233\351\230\266.md" +++ "b/Day41-55/11.RESTful\346\236\266\346\236\204\345\222\214DRF\350\277\233\351\230\266.md" @@ -1,4 +1,4 @@ -## Django 2实战11:RESTful架构和DRF进阶 +## RESTful架构和DRF进阶 diff --git "a/Day41-55/12.\344\275\277\347\224\250\347\274\223\345\255\230.md" "b/Day41-55/12.\344\275\277\347\224\250\347\274\223\345\255\230.md" index 8ea71e947ad88e1aa398fe9f8c20259b8287821b..ee55bf63224718f9d68b5be6ddd4fdd42d6f05e1 100644 --- "a/Day41-55/12.\344\275\277\347\224\250\347\274\223\345\255\230.md" +++ "b/Day41-55/12.\344\275\277\347\224\250\347\274\223\345\255\230.md" @@ -1,4 +1,4 @@ -## Django 2实战12:使用缓存 +## 使用缓存 diff --git "a/Day41-55/13.\347\237\255\344\277\241\345\222\214\351\202\256\344\273\266.md" "b/Day41-55/13.\347\237\255\344\277\241\345\222\214\351\202\256\344\273\266.md" index 73cbafc194cbc3e0836ed18454f359fd44036a6e..f6f3431cf50424d037871e513f3fd91419064978 100644 --- "a/Day41-55/13.\347\237\255\344\277\241\345\222\214\351\202\256\344\273\266.md" +++ "b/Day41-55/13.\347\237\255\344\277\241\345\222\214\351\202\256\344\273\266.md" @@ -1,4 +1,4 @@ -## Django 2实战13:短信和邮件 +## 短信和邮件 diff --git "a/Day41-55/14.\345\274\202\346\255\245\344\273\273\345\212\241\345\222\214\345\256\232\346\227\266\344\273\273\345\212\241.md" "b/Day41-55/14.\345\274\202\346\255\245\344\273\273\345\212\241\345\222\214\345\256\232\346\227\266\344\273\273\345\212\241.md" index 3e3615f5d115d636f1f036279f29ada3da6d112a..8564288f65bd7fee94f5d09a0dcb8790fd885808 100644 --- "a/Day41-55/14.\345\274\202\346\255\245\344\273\273\345\212\241\345\222\214\345\256\232\346\227\266\344\273\273\345\212\241.md" +++ "b/Day41-55/14.\345\274\202\346\255\245\344\273\273\345\212\241\345\222\214\345\256\232\346\227\266\344\273\273\345\212\241.md" @@ -1,4 +1,4 @@ -## Django 2实战14:异步任务和定时任务 +## 异步任务和定时任务 diff --git "a/Day41-55/15.\345\215\225\345\205\203\346\265\213\350\257\225\345\222\214\351\241\271\347\233\256\344\270\212\347\272\277.md" "b/Day41-55/15.\345\215\225\345\205\203\346\265\213\350\257\225\345\222\214\351\241\271\347\233\256\344\270\212\347\272\277.md" index 1c1744a304588159b2b89262ab7d347fb66bd492..7793bc17faadca071c3218ff98bc8e585451c507 100644 --- "a/Day41-55/15.\345\215\225\345\205\203\346\265\213\350\257\225\345\222\214\351\241\271\347\233\256\344\270\212\347\272\277.md" +++ "b/Day41-55/15.\345\215\225\345\205\203\346\265\213\350\257\225\345\222\214\351\241\271\347\233\256\344\270\212\347\272\277.md" @@ -1,3 +1,3 @@ -## Django 2实战15:单元测试和项目上线 +## 单元测试和项目上线 diff --git a/Day41-55/res/runserver01.png b/Day41-55/res/runserver01.png deleted file mode 100644 index 38b1f6b0f2b7094f5c21bf06ac924d3fdd983e1c..0000000000000000000000000000000000000000 Binary files a/Day41-55/res/runserver01.png and /dev/null differ diff --git a/Day41-55/res/runserver02.png b/Day41-55/res/runserver02.png deleted file mode 100644 index 520bac15f208aab24b1ea7cb41c9b6950cae3cfb..0000000000000000000000000000000000000000 Binary files a/Day41-55/res/runserver02.png and /dev/null differ diff --git a/Day41-55/res/runserver03.png b/Day41-55/res/runserver03.png deleted file mode 100644 index 1e2c42c75e33da1f4b62d3346ea2823cbaa5a3b3..0000000000000000000000000000000000000000 Binary files a/Day41-55/res/runserver03.png and /dev/null differ diff --git a/Day41-55/res/show-depts.png b/Day41-55/res/show-depts.png new file mode 100644 index 0000000000000000000000000000000000000000..ceaecc884fd12aee47254440a6297e63270f0311 Binary files /dev/null and b/Day41-55/res/show-depts.png differ diff --git a/Day41-55/res/show-subjects.png b/Day41-55/res/show-subjects.png index b1d87917bae02acf97de471ec30cb0c9a6f5e1c6..1a83ccbe36e02c2dd83174f59be189df36ae5e3c 100644 Binary files a/Day41-55/res/show-subjects.png and b/Day41-55/res/show-subjects.png differ diff --git a/Day41-55/res/show-teachers.png b/Day41-55/res/show-teachers.png index a102d059ad1055803204cbb4bc33a59461d0e22c..fd4661927a07a83bd371483e0ab4560ab77a9ea9 100644 Binary files a/Day41-55/res/show-teachers.png and b/Day41-55/res/show-teachers.png differ diff --git a/README.md b/README.md index 4ddfefb074b885700daa9c100e6e779c8efad26b..68be96ba137ac772e06840d4895a3dd23d65f294 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ #### Day44 - [表单的应用](./Day41-55/04.表单的应用.md) -#### Day45 - [Cookie和会话](./Day41-55/05.Cookie和会话.md) +#### Day45 - [Cookie和Session](./Day41-55/05.Cookie和Session.md) #### Day46 - [中间件的应用](./Day41-55/06.中间件的应用.md)