【Django+Vue3 線上教育平臺項目實戰】構建高效線上教育平臺之首頁模塊

在這里插入圖片描述


文章目錄

  • 前言
  • 一、導航功能實現
    • a.效果圖:
    • b.后端代碼
    • c.前端代碼
  • 二、輪播圖功能實現
    • a.效果圖
    • b.后端代碼
    • c.前端代碼
  • 三、標簽欄功能實現
    • a.效果圖
    • b.后端代碼
    • c.前端代碼
  • 四、側邊欄功能實現
    • 1.整體效果圖
    • 2.側邊欄功能實現
      • a.效果圖
      • b.后端代碼
      • c.前端代碼
    • 3.側邊欄展示分類及課程信息功能實現
      • a.效果圖
      • b.后端代碼
      • c.前端代碼
  • 五、分類課程推薦(樓層設計)功能實現
    • a.效果圖
    • b.后端代碼
    • c.前端代碼


前言

???在當今數字化教育浪潮中,構建一個高效且用戶友好的線上教育平臺至關重要。本博客將指導您使用Django作為后端框架,結合Vue 3的強大前端能力,快速搭建平臺首頁的核心功能,包括導航欄、輪播圖、側邊欄、標簽欄及分類課程推薦。我們將探討前后端數據交互、Vue組件化開發等關鍵技術,輕松構建出既美觀又實用的線上教育平臺。


??最終實現效果圖如下:
在這里插入圖片描述


一、導航功能實現

a.效果圖:

在這里插入圖片描述

b.后端代碼

導航表模型類:

class NavigationModel(BaseModel):name = models.CharField(max_length=100)url = models.CharField(max_length=100)is_url = models.BooleanField(default=False)def __str__(self):return self.nameclass Meta:verbose_name = '導航表'verbose_name_plural = '導航表'db_table = 'navigation'

導航表序列化器:

class NavigationSerializer(serializers.ModelSerializer):class Meta:model = NavigationModelfields = ('id','name','url','is_url')# fields = '__all__'

獲取所有頭部導航欄信息:

class NavigationView(APIView):def get(self, request):nav_list = NavigationModel.objects.all()ser = NavigationSerializer(nav_list, many=True)return Response({"code":"200", "data":ser.data})

配置url信息:

urlpatterns = [path('nav/header/', NavigationView.as_view()),...
]

c.前端代碼

components/Header.vue:

<!-- 0.導航欄 -->
<ul class="nav"><li v-for="(item,index) in nav.header_nav_list " :key="index"><a :href="item.url" v-if="item.is_url">{{item.name}}</a><router-link :to="item.url" v-else>{{item.name}}</router-link></li>
</ul>
<script setup>
import nav from "../api/nav"// 獲取頂部導航菜單nav.get_header_nav()
</script>

src/api/nav.js:

import http from "../http";
import {reactive} from "vue";
const nav = reactive({header_nav_list: [], // 頭部導航列表get_header_nav(){// 獲取頭部導航菜單http.get("/home/nav/header/").then(response=>{this.header_nav_list = response.data;})},
})
export default nav;

二、輪播圖功能實現

a.效果圖

在這里插入圖片描述

b.后端代碼

輪播圖模型類:

class BannerModel(BaseModel):image = models.CharField(max_length=255)link = models.CharField(max_length=255)is_http = models.BooleanField(default=False)def __str__(self):return self.imageclass Meta:verbose_name = "輪播圖表"verbose_name_plural = "輪播圖表"db_table = 'banner'

輪播圖序列化器:

class BannerSerializer(serializers.ModelSerializer):class Meta:model = BannerModelfields = '__all__'

獲取輪播圖數據:

class BannerView(APIView):def get(self, request):banners = BannerModel.objects.all()ser = BannerSerializer(banners, many=True)return Response({"code":"200", "data":ser.data})

配置url信息:

    path('banner/', BannerView.as_view()),

c.前端代碼

src/components/Banner.vue:

<!-- 焦點圖、輪播圖-->
<div class="g-banner-content" @mouseover="state.current_menu = -1"><el-carousel height="382px" indicator-position="bottom" @change="handleCarouselChange"><el-carousel-item v-for="(item, key) in banner.bannerImg" :key="key"><img :src="item.image" alt="" style="width: 100%; height: 100%" /></el-carousel-item></el-carousel>
</div>
<script setup>
import banner from "../api/banner";
banner.get_banner_list();// 輪播圖列表  接口數據替換
// http://192.168.56.1:3000/src/assets/img/course1.jpg
const bannerImg = reactive([{image: '/src/assets/img/course1.jpg',link: '',is_http: false,
}])// 當前輪播 banner背景
const nowBannerImg = reactive({ src: bannerImg[0].image });
//輪播切換賦值
const handleCarouselChange = (index) => {// 更新當前banner圖片地址nowBannerImg.src = banner.bannerImg[index].image;
};<script>

src/api/banner.js:

import { reactive } from "vue";
import http from "../http";
const banner = reactive({bannerImg: [],  // 輪播廣告列表get_banner_list() {// 獲取輪播廣告列表return http.get("/home/banner/").then(response => {// console.log("Bannner---response.data");// console.log(response.data);this.bannerImg = response.data.data;// console.log("bannerImg");// console.log(response.data.data);})},
})export default banner;

三、標簽欄功能實現

a.效果圖

在這里插入圖片描述

b.后端代碼

標簽表模型類:

class DirectionModel(BaseModel):direction = models.CharField(max_length=255)desc = models.CharField(max_length=255)icon = models.CharField(max_length=255)def __str__(self):return self.directionclass Meta:verbose_name = "方向表"verbose_name_plural = "標簽表"db_table = 'direction'

標簽 / 方向表序列化器:

class DirectionSerializer(serializers.ModelSerializer):class Meta:model = DirectionModelfields = ['id','direction','desc','icon']# fields = '__all__'

獲取所有標簽數據:

class DirectionView(APIView):def get(self, request):directions = DirectionModel.objects.all()ser = DirectionSerializer(directions, many=True)return Response({"code":"200", "data":ser.data})

配置urls:

    path('directions/', DirectionView.as_view()),

c.前端代碼

src/components/Banner.vue:

    <!-- 標簽表(方向表) --><div class="system-class-show"><a class="show-box" v-for="(item, index) in directions.directions_list" :key="index"><div class="system-class-icon" :style="{ 'background-image': `url('${item.icon}')` }"></div><div class="describe"><h4>{{ item.direction }}</h4><p>{{ item.desc }}</p></div></a><div class="line"></div><a class="all-btn"><div class="mini-title">體系課</div><div class="more-btn">more</div></a></div>
import directions from '../api/directions';directions.get_directions_list();

src/api/directions.js:

import { reactive } from "vue";
import http from "../http";const directions = reactive({directions_list: [],  // 標簽列表get_directions_list() {// 獲取標簽列表return http.get("/home/directions/").then(response => {// console.log("11111111111111");// console.log("directions_list---response.data");// console.log(response.data);this.directions_list = response.data.data;// console.log(response.data.data);})},})export default directions;

四、側邊欄功能實現

1.整體效果圖

在這里插入圖片描述

2.側邊欄功能實現

a.效果圖

在這里插入圖片描述

b.后端代碼

分類表模型類:

class CategoryModel(BaseModel):id = models.AutoField(primary_key=True)  # 通常Django會自動為主鍵添加AutoField,這里顯式寫出也可以name = models.CharField(max_length=255, unique=True)  # 假設分類名最大長度為255個字符parent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='son')  # 自關聯字段,表示父分類recommend = models.BooleanField(default=False)def __str__(self):return self.nameclass Meta:verbose_name = '分類表'verbose_name_plural = '分類表'db_table = 'category'

父級分類序列化器、子級分類序列化器:

# 子類序列化器---二級分類
class SonCategorySerializer(serializers.ModelSerializer):class Meta:model = CategoryModelfields = ('id', 'name')# fields = '__all__'# 父類序列化器--一級分類
class CategorySerializer(serializers.ModelSerializer):son = SonCategorySerializer(many=True, read_only=True)class Meta:model = CategoryModelfields = '__all__'# fields = ('id','name','son')

獲取父級與子級分類:

# 2.獲取一、二級分類
class CategoryView(APIView):def get(self, request):# 查詢所有一級分類:parent is null# query_setcategories = CategoryModel.objects.filter(is_delete=0,parent__id__isnull=True)  #query_setclist = [] #側邊欄 二級分類顯示幾個for category in categories:# 獲取一級下面所有的二級分類,操作顯示二級分類數據條數sondata = category.son.all()[0:2] #query_set# d對二級數據進行序列化操作son = SonCategorySerializer(sondata, many=True)clist.append({"id": category.id, "name": category.name, "son": son.data})return Response({"code":"200", "data":clist})

配置url:

    path('nav/cates/', CategoryView.as_view()), #側邊欄-獲取一二級分類 

c.前端代碼

src/components/Banner.vue:

<!-- 左側邊欄Banner---二級分類 --><div class="menuContent"><divv-for="(item, index) in cates.cates_list":key="index"class="item":class="{ 'js-menu-item-on': state.current_menu == 0 }"@mouseover="fnMethod(item.id)"><!-- item.id 一級分類id --><span class="title">{{ item.name }}:</span><span class="sub-title" v-for="(s, index) in item.son" :key="index">&nbsp;&nbsp;{{ s.name }}&nbsp;&nbsp;</span><i class="imv2-arrow1_r"></i></div></div>
import cates from "../api/cates";cates.get_cates_list();
// 定義方法-展示側邊欄所有二級分類以及所有分類下的課程
const fnMethod = (cateid) => {state.current_menu = 0;cates.get_coures_list(cateid);
};

src/api/cates.js:

import http from "../http";
import { reactive } from "vue";const cates = reactive({cates_list: [], // Banner---兩級分類列表get_cates_list() {// 獲取兩級分類return http.get("/home/nav/cates/").then(response => {// console.log("左側邊欄獲取兩級分類response.data:");// console.log(response.data);this.cates_list = response.data.data;})},
})
export default cates;

3.側邊欄展示分類及課程信息功能實現

點擊分類(側邊欄觸發),獲取此分類下所有的二級分類(@mouseover)以及此分類下推薦的課程

a.效果圖

在這里插入圖片描述

b.后端代碼

+課程表模型類:

class CourseModel(BaseModel):id = models.AutoField(primary_key=True)name = models.CharField(max_length=255, unique=True)# parent 指向 Category 分類idparent = models.ForeignKey(CategoryModel, on_delete=models.CASCADE, related_name='course',verbose_name="parent-父級分類")topid = models.IntegerField(verbose_name="topid-頂級分類")recommend = models.BooleanField(default=False)picurl = models.CharField(max_length=100)price = models.FloatField()level = models.IntegerField(verbose_name="1零基礎 2中級 3高級")sales = models.IntegerField(default=0,verbose_name="銷量")describe = models.TextField()def __str__(self):return self.nameclass Meta:verbose_name = '課程表'verbose_name_plural = '課程表'db_table = 'course'

課程序列化器:

class CourseSerializer(serializers.ModelSerializer):# teacher = TeachersSerializer(many=True, read_only=True)# teacher = TeachersSerializer()class Meta:model = CourseModelfields = '__all__'

獲取所有分類及其推薦課程:

class CategoryCourseView(APIView):def get(self, request):#獲取一級分類idcateid = request.GET.get("cateid")#根據id查詢分類:一級分類和二級分類cate = CategoryModel.objects.filter(id=cateid).first()#通過id查詢推薦課程ser = CategorySerializer(cate)#返回結果#print(cate.id)courses = CourseModel.objects.filter(topid=cateid,recommend=True)#print(courses)cSer = CourseSerializer(courses, many=True)#print(cSer.data)return Response({"code":"200", "clist":ser.data,"courses":cSer.data})

配置urls:

	path('nav/catescourses/', CategoryCourseView.as_view()),#側邊欄-傳一級分類id->展示子分類及其所有課程

c.前端代碼

src/components/Banner.vue:

<!-- 側邊欄觸發顯示:分類信息、課程信息 -->
<div class="submenu" v-if="state.current_menu === 0"><!-- 1.2.1側邊欄觸發顯示:商品課程二級分類信息  --><div class="inner-box"><h2 class="type">{{ cates.cc_list.name }}</h2><div class="tag clearfix"></div><div class="lore"><span class="title">知識點:</span><p class="lores clearfix"><a target="_blank" v-for="(item, index) in cates.cc_list.son" :key="index" href="">{{ item.name }}</a></p></div></div><!-- 1.2.2側邊欄觸發顯示:分類下的課程信息---><div class="recomment clearfix"><a href="" target="_blank" title="" class="recomment-item" v-for="(c,index) in cates.course_list" :key="index"><div class="img" :style="{ 'background-image': `url('${c.picurl}')`, 'background-size': '100%' }"></div><div class="details"><div class="title-box"><p class="title"><span class="text">{{c.name}}</span><span class="tag tixi">體系</span></p></div><div class="bottom"><span class="discount-name">優惠價:</span><span class="price">¥{{c.price}}</span> &middot;<span class="difficulty"> {{c.describe}} </span> &middot;<span class="difficulty" v-if="c.level==1"> 0基礎 </span> &middot;<span class="difficulty" v-if="c.level==2"> 中級 </span> &middot;<span class="difficulty" v-if="c.level==3"> 高級 </span> &middot;<span class="num"><i class="imv2-set-sns"></i> {{c.sales}}人</span></div></div></a></div></div>

src/api/cates.js:

import http from "../http";
import { reactive } from "vue";const cates = reactive({cates_list: [], // Banner---兩級分類列表cc_list: {}, //Banner---觸發顯示:顯示所有二級分類course_list: [], //Banner ---觸發顯示:顯示分類下的課程get_cates_list() {// 獲取兩級分類return http.get("/home/nav/cates/").then(response => {this.cates_list = response.data.data;})},get_coures_list(cateid) {// 獲取所有二級分類 及其 課程return http.get("/home/nav/catescourses/?cateid=" + cateid).then(response => {// console.log("左側邊欄獲取課程分類及課程response.data:");// console.log(response.data);this.cc_list = response.data.clist;this.course_list = response.data.courses;})},})export default cates;

五、分類課程推薦(樓層設計)功能實現

首頁分類課程推薦設計:
????顯示推薦分類,獲取不同樓層不同分類下的課程,點擊不同分類時獲取當前樓層分類下的推薦課程并顯示

a.效果圖

在這里插入圖片描述

b.后端代碼

為了便于理解,建立三張表:頻道表、頻道分類表、頻道課程表,模型類如下:

# a.頻道表
class ChannelModel(BaseModel):name = models.CharField(max_length=255, unique=True)picurl = models.CharField(max_length=100)sort = models.IntegerField()def __str__(self):return self.nameclass Meta:verbose_name = '頻道表'verbose_name_plural = '頻道表'db_table = 'channel'# b.頻道分類表 id,name,顯示順序,頻道id,類別(1-添加的 2-分類的),分類id
class ChannelCategoryModel(BaseModel):name = models.CharField(max_length=255)sort = models.IntegerField()channel = models.ForeignKey(ChannelModel, on_delete=models.CASCADE, related_name='cates')type = models.IntegerField()cateid = models.IntegerField()def __str__(self):return self.nameclass Meta:verbose_name = '頻道分類表'verbose_name_plural = '頻道分類表'db_table = 'channel_cates'# c.頻道分類課程表 id,name,圖標,價格,難度,購買人數,頻道分類id
class ChannelCoursesModel(BaseModel):name = models.CharField(max_length=255,unique=True)picurl = models.CharField(max_length=100)price = models.FloatField()sales = models.IntegerField(default=0)level = models.IntegerField()ccates = models.ForeignKey(ChannelCategoryModel, on_delete=models.CASCADE, related_name='courses')def __str__(self):return self.nameclass Meta:verbose_name = '頻道分類課程表'verbose_name_plural = '頻道分類課程表'db_table = 'channel_courses'

頻道、頻道分類、頻道課程序列化器:

# --
# c.頻道分類課程序列化器
class ChannelCourseSerializer(serializers.ModelSerializer):class Meta:model = ChannelCoursesModelfields = '__all__'# b.頻道分類序列化器-
class ChannelCategorySerializer(serializers.ModelSerializer):courses = ChannelCourseSerializer(many=True, read_only=True)class Meta:model = ChannelCategoryModelfields = '__all__'# a.頻道序列化器
class ChannelSerializer(serializers.ModelSerializer):cates = ChannelCategorySerializer(many=True, read_only=True)class Meta:model = ChannelModelfields = '__all__'

獲取首頁推薦課程分類信息:

# 6.2 樓層-課程卡片--(無順序版-->直接嵌套序列化器)
class HomeCourseView(APIView):def get(self, request):channels = ChannelModel.objects.order_by('sort').all()ser_channels = ChannelSerializer(channels, many=True)return Response({"code":"200", "data":ser_channels.data})

配置urls:

    path('homecourse/', HomeCourseView.as_view()), #首頁推薦分類課程

c.前端代碼

src/components/NewCourse.vue:

<template><div class="bg000"><div class="container-types new-course" v-for="record,index in course.data" :key="index"><!-- 第一級:pic --><h3class="types-title justify-content_flex-start":style="{ 'background-image': `url('${record.picurl}')` }">{{index}}<!-- 第二級 eg:推薦、前端課程 --><ul class="menu"><li :class="{'curr': state.current_menu[index]==key}"v-for="item,key in record.cates" :key="key"@click="selectTab(item,key,index)"><a>{{ item.name }}</a></li></ul></h3><!-- 對應分類下的課程信息 --><div class="list clearfix show" ><a class="item" v-for="citem,cindex in record.cates[courseList.data[index]].courses" :key="cindex"><div class="img":style="{ 'background-image': `url('${citem.picurl}')` }"></div><div class="title ellipsis2">{{ citem.name }}</div><div class="difficulty">{{ citem.level }} · {{ citem.person }}人報名</div><div class="bottom clearfix"><span class="price l red bold">¥{{ citem.price }}</span></div></a></div></div>  </div>
</template>
<script setup>
import {reactive} from "vue"
// 接口取回的數據
import course from "../api/home";course.get_courses_list();// 定義每個頻道TAB的下標
let courseList = reactive({data: [0,0,0]})// 點擊事件item-cates,key-二級index,index-一級index
const selectTab = (item,key,index) => {courseList.data[index] = keystate.current_menu[index] = key
}
const state = reactive({current_menu: [0,0,0],
})</script>

src/api/home.js:

import { reactive } from "vue";
import http from "../http";
const course = reactive({data: [],  // 分類下課程信息get_courses_list() {// 獲取分類下課程信息return http.get("/home/homecourse/").then(response => {console.log("response.data.data");console.log(response.data.data);this.data = response.data.data;},})export default course;

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44970.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

element UI時間組件兩種使用方式

加油&#xff0c;新時代打工&#xff01; 組件官網&#xff1a;https://element.eleme.cn/#/zh-CN/component/date-picker 先上效果圖&#xff0c;如下&#xff1a; 第一種實現方式 <div class"app-container"><el-formref"submitForm":model&q…

Linux C++ 052-設計模式之享元模式

Linux C 052-設計模式之享元模式 本節關鍵字&#xff1a;Linux、C、設計模式、享元模式 相關庫函數&#xff1a; 概念 享元模式&#xff08;FlyWeight&#xff09;&#xff0c;運用共享技術有效的支持大量細粒度的對象。 典型的享元模式的例子為文書處理器中以圖形結構來表…

探索 Prompt 的世界:讓你的 AI 更智能

探索 Prompt 的世界&#xff1a;讓你的 AI 更智能 引言什么是 Prompt&#xff1f;Prompt 的重要性如何編寫有效的 Prompt1. 清晰明確2. 包含關鍵細節3. 提供上下文 實踐中的 Prompt 技巧1. 多次迭代2. 實驗不同風格3. 結合實際應用 總結 引言 隨著人工智能&#xff08;AI&…

數據恢復篇:適用于 Android 的恢復工具

正在擺弄 Android 設備。突然&#xff0c;您意外刪除了一張或多張圖片。不用擔心&#xff0c;您總能找到一款價格實惠的照片恢復應用。這款先進的軟件可幫助 Android 用戶從硬盤、安全數字 (SD) 或存儲卡以及數碼相機中恢復已刪除的圖片。 Android 上文件被刪除的主要原因 在獲…

采用自動微分進行模型的訓練

自動微分訓練模型 簡單代碼實現&#xff1a; import torch import torch.nn as nn import torch.optim as optim# 定義一個簡單的線性回歸模型 class LinearRegression(nn.Module):def __init__(self):super(LinearRegression, self).__init__()self.linear nn.Linear(1, 1) …

【Linux】數據流重定向

數據流重定向&#xff08;redirect&#xff09;由字面上的意思來看&#xff0c;好像就是將【數據給它定向到其他地方去】的樣子&#xff1f; 沒錯&#xff0c;數據流重定向就是將某個命令執行后應該要出現在屏幕上的數據&#xff0c;給它傳輸到其他的地方&#xff0c;例如文件或…

[圖解]企業應用架構模式2024新譯本講解26-層超類型2

1 00:00:00,510 --> 00:00:03,030 這個時候&#xff0c;如果再次查找所有人員 2 00:00:03,040 --> 00:00:03,750 我們會發現 3 00:00:05,010 --> 00:00:06,370 這一次所有的對象 4 00:00:06,740 --> 00:00:08,690 都是來自標識映射的 5 00:00:10,540 --> 00…

VB 上位機開發

VB 上位機開發第一節 在 VB(Visual Basic)上位機開發的第一節課程中涵蓋以下基礎內容: 一、上位機開發簡介 解釋上位機的概念和作用,它是與硬件設備進行通信和控制的軟件應用程序。舉例說明上位機在工業自動化、智能家居、監控系統等領域的應用。二、VB 開發環境介紹 展示如…

2024遼寧省數學建模C題【改性生物碳對水中洛克沙胂和砷離子的吸附】原創論文分享

大家好呀&#xff0c;從發布賽題一直到現在&#xff0c;總算完成了2024 年遼寧省大學數學建模競賽C題改性生物碳對水中洛克沙胂和砷離子的吸附完整的成品論文。 本論文可以保證原創&#xff0c;保證高質量。絕不是隨便引用一大堆模型和代碼復制粘貼進來完全沒有應用糊弄人的垃…

Rubber Duck Debugging: History and Benefits 橡皮鴨調試:歷史和優勢

注&#xff1a;機翻&#xff0c;未校對。 Discover the origins of rubber duck debugging, why it works, and why it has become so popular among programmers. 了解橡皮鴨調試的起源&#xff0c;它為什么有效&#xff0c;以及為什么它在程序員中如此受歡迎。 Debugging co…

AMD CPU加 vega 顯卡運行ollama本地大模型

顯卡是VEGA56&#xff0c;這個卡代號是gfx900 雖然ollama頁面上寫著這個卡可以&#xff0c;但是實際是不可以的 報錯如下&#xff1a; levelWARN sourceamd_windows.go:97 msg"amdgpu is not supported" gpu0 gpu_typegfx900:xnack 它認為的GPU型號是 gfx900:xna…

【JavaScript】解決 JavaScript 語言報錯:Uncaught SyntaxError: Unexpected identifier

文章目錄 一、背景介紹常見場景 二、報錯信息解析三、常見原因分析1. 缺少必要的標點符號2. 使用了不正確的標識符3. 關鍵詞拼寫錯誤4. 變量名與保留字沖突 四、解決方案與預防措施1. 檢查和添加必要的標點符號2. 使用正確的標識符3. 檢查關鍵詞拼寫4. 避免使用保留字作為變量名…

全棧 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL筆記(一)

前言 閱讀本文你需要有 Next.js 基礎 React 基礎 Prisma 基礎 tailwind 基礎 MySql基礎 準備工作 打開網站 https://ui.shadcn.com/docs 這不是一個組件庫。它是可重用組件的集合&#xff0c;您可以將其復制并粘貼到應用中。 打開installation 選擇Next.js 也就是此頁面…

Python3 第十七課 -- 編程第一步

目錄 一. 前言 二. end 關鍵字 一. 前言 在前面的教程中我們已經學習了一些 Python3 的基本語法知識&#xff0c;接下來我們來嘗試一些實例。 打印字符串: print("Hello, world!") 輸出結果為&#xff1a; Hello, world! 輸出變量值&#xff1a; i 256*256…

智慧校園服務監控功能

智慧校園系統中的服務監控功能&#xff0c;扮演著維護整個校園數字化生態系統穩定與高效運作的重要角色。它如同一位全天候的守護者&#xff0c;通過實時跟蹤、分析并響應系統各層面的運行狀況&#xff0c;確保教學、管理等核心業務流程的順暢進行。 服務監控功能覆蓋了智慧校園…

開發個人Ollama-Chat--6 OpenUI

開發個人Ollama-Chat–6 OpenUI Open-webui Open WebUI 是一種可擴展、功能豐富且用戶友好的自托管 WebUI&#xff0c;旨在完全離線運行。它支持各種 LLM 運行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于總所周知的原由&#xff0c;OpenAI 的接口需要密鑰才…

知識圖譜與 LLM:微調與檢索增強生成

Midjourney 的知識圖譜聊天機器人的想法。 大型語言模型 (LLM) 的第一波炒作來自 ChatGPT 和類似的基于網絡的聊天機器人&#xff0c;這些模型在理解和生成文本方面非常出色&#xff0c;這讓人們&#xff08;包括我自己&#xff09;感到震驚。 我們中的許多人登錄并測試了它寫…

微信視頻號的視頻怎么下載到本地?快速教你下載視頻號視頻

天來說說市面上常見的微信視頻號視頻下載工具&#xff0c;教大家快速下載視頻號視頻&#xff01; 方法一&#xff1a;緩存方法 該方法來源早期視頻技術&#xff0c;因早期無法將大量視頻通過網絡存儲&#xff0c;故而會有緩存視頻文件到手機&#xff0c;其目的為了提高用戶體驗…

尚硅谷Vue3入門到實戰,最新版vue3+TypeScript前端開發教程

Vue3 編碼規范 創建vue3工程 基于vite創建 快速上手 | Vue.js (vuejs.org) npm create vuelatest 在nodejs環境下運行進行創建 按提示進行創建 用vscode打開項目 安裝依賴 源文件有src 內有main.ts App.vue 簡單分析 編寫src vue2語法在三中適用 vue2中的date metho…

UnityECS學習中問題及總結entityQuery.ToComponentDataArray和entityQuery.ToEntityArray區別

在Unity的ECS&#xff08;Entity Component System&#xff09;開發中&#xff0c;entityQuery.ToComponentDataArray<T>(Allocator.Temp) 和 entityQuery.ToEntityArray(Allocator.Temp) 是兩種不同的方法&#xff0c;用于從實體查詢中獲取數據。除了泛型參數之外&#…