django使用sqlite3統(tǒng)計(jì)前臺(tái)站點(diǎn)訪問數(shù)量示例
后端
Django框架自帶sqlite3數(shù)據(jù)庫,通過models.py文件內(nèi)定義數(shù)據(jù)庫類用來存儲(chǔ)訪問信息
from django.db import models import time # 網(wǎng)站總訪問次數(shù) class VisitNumber(models.Model): date = models.IntegerField(verbose_name='網(wǎng)站訪問時(shí)間', default=int(time.time())) class Meta: verbose_name = '網(wǎng)站訪問時(shí)間' verbose_name_plural = verbose_name def __str__(self): return str(self.count)
新增接口
用以向數(shù)據(jù)庫中新增一條數(shù)據(jù),前臺(tái)頁面渲染過程中調(diào)用一次該接口
def set_visit_count(request): cur_time = int(time.time()) count_nums = VisitNumber() count_nums.date = cur_time count_nums.save() return JsonResponse({"status": True, "data": cur_time})
用以從數(shù)據(jù)庫獲取訪問信息
conn = sqlite3.connect("/root/Django/db.sqlite3") cursor = conn.cursor() data = cursor.execute(f"select * from DeployProductRepair_visitnumber where date > {start_time} and date < {end_time};") conn.commit() cur_time_visit = len(data.fetchall()) cursor.close() conn.close() return cur_time_visit
因?yàn)閙odels.py文件發(fā)生改變,所以需要在環(huán)境上重新生成數(shù)據(jù)庫表,執(zhí)行以下兩行命令,之后啟動(dòng)python服務(wù)
python3 /root/Django/manage.py makemigrations python3 /root/Django/manage.py migrate nohup python3 /root/Django/manage.py runserver 10.243.22.192:8080
前端
src/api/index.ts文件中增加一個(gè)請求
const setVisitCount = (params) => { return request.get("/setVisitCount/", params) as Promise<{ status: boolean; data: Array<any>; }>; }
在總?cè)肟谖募pp.tsx中增加調(diào)用請求
import { setVisitCount } from "./api/index.ts"; //并不需要對(duì)返回值做處理,因此可以不必使用await同步 const visitCount = setVisitCount(null);
在需要顯示數(shù)據(jù)的頁面調(diào)用獲取請求并渲染即可
const { data, count } = await getUseData({ type: this.state.type }); this.setState({ visitCount: count, });
以上就是django使用sqlite3統(tǒng)計(jì)前臺(tái)站點(diǎn)訪問數(shù)量示例的詳細(xì)內(nèi)容,更多關(guān)于django sqlite3統(tǒng)計(jì)站點(diǎn)訪問量的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用Scrapy保存控制臺(tái)信息到文本解析
這篇文章主要介紹了Python使用Scrapy保存控制臺(tái)信息到文本解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12Python實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列結(jié)構(gòu)的方法詳解
優(yōu)先級(jí)隊(duì)列(priority queue)是0個(gè)或多個(gè)元素的集合,每個(gè)元素都有一個(gè)優(yōu)先權(quán),接下來就來看一下簡潔的Python實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列結(jié)構(gòu)的方法詳解:2016-06-06python實(shí)現(xiàn)年會(huì)抽獎(jiǎng)程序
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)年會(huì)抽獎(jiǎng)程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01PyTorch中torch.matmul()函數(shù)常見用法總結(jié)
torch.matmul()也是一種類似于矩陣相乘操作的tensor連乘操作。但是它可以利用python中的廣播機(jī)制,處理一些維度不同的tensor結(jié)構(gòu)進(jìn)行相乘操作,這篇文章主要介紹了PyTorch中torch.matmul()函數(shù)用法總結(jié),需要的朋友可以參考下2023-04-04