摘要:文章瀏覽量是所有社交類網(wǎng)站所必備的數(shù)據(jù),足以顯示其重要性了。總結(jié)本章完成了簡單的統(tǒng)計瀏覽量的功能,并且在前后端中對用戶的身份進行了驗證。下一章學習與瀏覽量緊密相關(guān)的功能查詢最熱文章。
文章瀏覽量是所有社交類網(wǎng)站所必備的數(shù)據(jù),足以顯示其重要性了。
博主可以通過瀏覽量來評估某篇文章的受歡迎程度,讀者也能夠通過瀏覽量來篩選質(zhì)量更高的文章。
然而,準確統(tǒng)計瀏覽量并不簡單:
某些類型的請求不應(yīng)該統(tǒng)計為瀏覽量,比如作者自己的瀏覽或編輯文章之后的重定向請求;
由于用戶眾多,瀏覽量的數(shù)據(jù)時刻都在快速更新,會給數(shù)據(jù)庫帶來很大的壓力。因此很多大型網(wǎng)站都會使用如Redis這樣的讀寫速度非??斓膬?nèi)存數(shù)據(jù)庫輔助存儲。
因為我們的項目是博客網(wǎng)站,粗略統(tǒng)計就可以了,也沒有那么大的用戶壓力,所以設(shè)計就簡單得多了。
模型瀏覽量作為每篇博文都有的數(shù)據(jù),需要一個字段來存儲。
因此修改文章的模型:
article/models.py ... class ArticlePost(models.Model): ... total_views = models.PositiveIntegerField(default=0) ...
PositiveIntegerField是用于存儲正整數(shù)的字段
default=0設(shè)定初始值從0開始
修改完數(shù)據(jù)庫別忘了要數(shù)據(jù)遷移,否則更改不會生效。
由于新字段設(shè)置了初始值,遷移會很順暢:
(env) E:django_projectmy_blog>python manage.py makemigrations Migrations for "article": articlemigrations