大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。这一节,我们将对顶部的Navbar动手,将其优化。
皮爷的每一篇文章,都配置相对应的代码。这篇文章的代码Tag是Post_022
Narbar说的是这个东西:
上一节,我们对我们的页面进行了整体的优化,其中提到了页面顶部的Narbar的实现,当时,我们在文章里说了有两种方法:
- 第一种是直接写死a标签
- 第二种则是在后台写好管理程序,前端每次请求的时候,后端把标签放到变量里面,然后传给前端
这两种方式有利有弊:
- 方式一写死,灵活性会很差;
- 方式二写的活,但是代码量就会上去。
有没有一种好的方式既能灵活,又能偷懒呢?
答案是没有,不过,在这里,皮爷准备用一种“一半写死,一半写活”的方式来修改我们的Navbar,即:
- 常用的标签,准备写死处理,比如首页,文章列表;
- 剩下的标签,打算写活,这样日后网站要扩展或者关闭服务,都可以动态的通过后台来操作,不需要重新发办修改代码。
随着功能的开发,我们还需要做的另一件事儿就是首页的整合。为啥要整合首页啊?是因为我们的首页现在变得越来越复杂,已经不再是之前简简单单的首页了,为了日后能够更好的维护,我们需要将首页以及一些公共的功能抽取出来,重新整合。
那,这种方式怎么做呢??
写死的部分
我们说了,针对常用的部分,我们做写死处理。
需要写死的部分,要满足条件:
- 常用
- 日后不打算大型修改
目前满足的就是首页还有文章。因为这两个分类,从网站长期来看,不需要修改。所以这部分,可以直接写死a标签。
{% url 'post:index' as index %}
{% url 'post:post_list' as post_list %}
<li class="nav-item mr-4">
<a class="nav-link {% if request.path == index %}active{% endif %}" href="{
{ index }}">首页</a>
</li>
<li class="nav-item mr-4">
<a class="nav-link {% if request.path == post_list %}active{% endif %}" href="{
{ post_list }}">文章</a>
</li>
写活的部分
剩下的板块内容,我们就可以写活了。通过后台写的管理界面,来管理前端页面需要展示的东西。这个开发过程和第20篇写的友链开发很像。开发流程都很像,这里就不对开发流程做过多的介绍了。
我们就来简单介绍一些关键的技术点吧。
模型创建
既然我们要动态管理标签,那么我们就需要创建一个应用,在应用