至此,我们已经基本完成了博客的所有功能。最后在对博客的一些细节进行完善下就可以了。
搜索页面内容的添加
搜索页面的视图函数是在haystack中写好的,如果我们想要给页面传递数据,需要将内容写到视图函数的extra_context函数中:
class MySearchView(SearchView):
def extra_context(self):
context = super(MySearchView, self).extra_context()
# 博客、标签、分类数目统计
count_nums = Counts.objects.get(id=1)
context['cate_nums'] = count_nums.category_nums
context['tag_nums'] = count_nums.tag_nums
context['blog_nums'] = count_nums.blog_nums
return context
网站底部的写法
如果博客的域名备案的话,是需要将备案号写在网站的最下面的,如下:
<footer id="footer" class="footer">
<div class="footer-inner">
<div class="copyright">
© 2017 -
<span itemprop="copyrightYear">2018span>
<span class="with-love">
<i class="fa fa-heart">i>
span>
<span class="author" itemprop="copyrightHolder">geerniyaspan>
div>
<div class="powered-by">
豫ICP备18002345号-1
div>
<div class="theme-info">
Supported by <a href="https://www.aliyun.com/">阿里云a>
div>
div>
footer>
给网站添加logo
我们希望自己的网站的title旁边有自己独特的logo,可以在head内添加logo:
"shortcut icon" type="image/x-icon" href="/static/image/logo.ico">
其中logo.ico是你的logo图片,格式必须是.ico格式的。你可以自行设计,当然,我是从网上随便找了个喜欢的图案放上去的。
网站适应手机端
为了使我们的网站适应手机端,最简单的办法是在head头部添加meta信息:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
当然,这只能适配简单的场景,更多复杂的场景需要在iss样式里定制,还好别人已经给我们设计好了,我们这里直接用就行了。然而,我们后来自行添加的搜索框及评论内容样式设计的不够好,这也需要日后进一步的完善。
添加超链接
我们博客的首页有很多超链接,包括我们自己的社交链接,我这里只添加了个人的GitHub、知乎、CSDN博客,各位如果还可以自行添加其他内容。
下面还添加了别的网站的超链接,也可以自行添加。当然,欢迎把我的博客网站也添加进来。
博文的阅读量
很多博客喜欢在博文后面添加上阅读量,我们在数据库中也定义了该字段,在视图函数中也应当添加上相关代码:
# 此处为博客详情页
# 博客点击数+1, 评论数统计
blog.click_nums += 1
blog.save()
# 此处为主页
count_nums.visit_nums += 1
count_nums.save()
这样,用户每进入我们的博客主页一次,网站的访问量就+1,用户每点击进入我们的博客详情页面一次,博文的点击量同样+1。不过这些数据我只是让它在后台显示,也就是只有我自己才能看到,并没有让它显示在前端,如果有需要的,可以在博客标题后添加上该字段就可以了。
最后就是,大家自行添加上自己博客的名称、说明以及个人的头像即可。
这样我们的博客网站开发就算是真的完成了,接下来要进入博客的部署了。
——————————————————————————————————————————
项目的完整代码:django_blog
觉得有用的欢迎给个star。