46.完结,新的开始
1、衔接上一节课的内容
- 站内简单搜索——通过标题搜索博客,支持多个关键字
- 1、搜索框响应式布局
- 使用flex布局
- 2、全文搜索
- 过于复杂,超出博客应用开发的范畴
- 有兴趣可以使用Haystack,接入全文搜索引擎
- 1)Solr
- 2)ElasticSearch
- 3)Whoosh
- 4)Xapian
- 如果数据库是PostgresSQL的全文搜索(https://docs.djangoproject.com/en/2.2/ref/contrib/postgres/search/)
1、搜索框响应式布局
我们访问页面,F12,我们把页面拉小成小屏幕,就可以看到,展开之后这个搜索框的布局就不太好看,搜索的放大镜图标也看不到了。
这里要先做一些处理,就是给它添加一些样式。这里我们加一个flex的样式,这是一种布局方式,它是可以通过它本身去控制它子元素如何布局,这也是一种比较好用的布局方式
修改base.css如下:
刷新页面
这里,因为缓存原因,我们可能直接刷新是看不到效果的,我们除了F5强制刷新这种方式之外,还可以用如下方法,给base.html里面base.css的引用地方加上一个无关紧要的get参数(一般用下划线代表随机的),然后写一个标识性的版本号(比如今天的日期)。我们每次更新这个参数,这样的话,url地址不一样了,就会重新去拿最新的css,而不是去使用浏览器缓存的文件。
然后再刷新页面,会去拿到新的css样式,并且去应用。
2、全文搜索
1)Solr
2)ElasticSearch
3)Whoosh
4)Xapian
第1、2个都是django开发的,所以我们需要额外去安装这两款软件,第3是Python写的,可以直接pip install
安装,第4个是C写的,也是需要额外安装
2、本教程总结
- 1、从教程中学到了什么
- 2、后续可以学什么
- 1)继续深入Django:类视图、DjangoRestFramework、XAdmin
- 2)学习其他Python Web框架,拓宽自己:Flask、Tornado
- 3)缓存管理和数据库:Redis、PostgresSQL、MongoDB
- 4)前端
- 5)其他:Go、node.js、Java
用mubu做的思维导图:
3、如何学习和Debug
- 1、弄清逻辑,一步一步来,思绪不要飘;
- 2、文档、资源来源要靠谱
- 3、基本概念要搞懂,弄清楚是什么,不要随便揣测,不要自创词汇,含糊不得;
- 4、不做多余的事情;
- 5、勇敢探索。