概要:
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的渭南網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!要實現(xiàn)點贊功能,需要實現(xiàn)的有:誰進行的點贊、什么時候進行點贊、點贊的對象是誰、每一個對象的點贊數(shù)量是多少、點贊過后還需要能夠取消點贊,為了是點贊后的信息能夠及時的顯示在前端頁面,就需要使用Ajax來異步請求數(shù)據(jù),實現(xiàn)實時顯示。
下面話不多說了,來隨著小編一起看看詳細的介紹吧
模型分析:
創(chuàng)建的模型需要記錄的數(shù)據(jù)有:點贊者、點贊對象、點贊時間、點贊的數(shù)量,由于前面三個屬性主要用于記錄點贊的狀態(tài),而點贊數(shù)量主要用于記錄某篇文章的點贊數(shù)量,所以這里最好把點贊數(shù)量單獨放在一個模型中。這里就創(chuàng)建了兩個模型,LikeRecord和LIkeCount,LikeRecord用于記錄點贊狀態(tài),LIkeCount用于記錄點贊的數(shù)量。大致的思路圖:
代碼:
from django.db import models from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.contrib.auth.models import User # Create your models here. # 用于記錄點贊數(shù)量的模型 class LikeCount(models.Model): content_type = models.ForeignKey(ContentType, on_delete=models.DO_NOTHING) object_id = models.PositiveIntegerField() content_object = GenericForeignKey('content_type', 'object_id') # 用于記錄點贊數(shù)量的字段 like_num = models.IntegerField(default=0) # 用于記錄點贊狀態(tài)的模型 class LikeRecord(models.Model): content_type=models.ForeignKey(ContentType, on_delete=models.DO_NOTHING) object_id=models.PositiveIntegerField() content_object=GenericForeignKey('content_type', 'object_id') # 記錄點贊的用戶 like_user = models.ForeignKey(User, on_delete=models.DO_NOTHING) # 記錄點贊的時間 like_time = models.DateTimeField(auto_now_add=True)
本文名稱:基于Django框架利用Ajax實現(xiàn)點贊功能實例代碼-創(chuàng)新互聯(lián)
本文URL:http://jinyejixie.com/article30/cshepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、靜態(tài)網(wǎng)站、微信公眾號、電子商務(wù)、網(wǎng)站收錄、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)