国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

濟南網(wǎng)站優(yōu)化公司電話評論優(yōu)化

濟南網(wǎng)站優(yōu)化公司電話,評論優(yōu)化,phpweb網(wǎng)站標(biāo)志或廣告上傳圖片不顯示,使用php做的學(xué)校網(wǎng)站嗎使用Python Django框架制作一個音樂網(wǎng)站,在系列文章2的基礎(chǔ)上繼續(xù)開發(fā),本篇主要是后臺單曲、專輯、首頁輪播圖表模塊開發(fā)。 目錄 后臺單曲、專輯表模塊開發(fā) 表結(jié)構(gòu)設(shè)計 單曲表(singe)結(jié)構(gòu) 專輯表(album&#xff09…

使用Python Django框架制作一個音樂網(wǎng)站,在系列文章2的基礎(chǔ)上繼續(xù)開發(fā),本篇主要是后臺單曲、專輯、首頁輪播圖表模塊開發(fā)。

目錄

后臺單曲、專輯表模塊開發(fā)

表結(jié)構(gòu)設(shè)計

單曲表(singe)結(jié)構(gòu)

專輯表(album)結(jié)構(gòu)

創(chuàng)建表模型

創(chuàng)建表

后臺注冊表模型

后臺首頁輪播圖表模塊開發(fā)

表結(jié)構(gòu)設(shè)計

創(chuàng)建表模型

創(chuàng)建表

后臺注冊表模型

引入表模型

后臺自定義

總結(jié)


后臺單曲、專輯表模塊開發(fā)

表結(jié)構(gòu)設(shè)計

單曲表(singe)結(jié)構(gòu)

字段

類型

注釋

id

int(11)

單曲id

sid

int(11)

所屬歌手id

aid

int(11)

所屬專輯id

name

varchar(50)

單曲名稱

duration

int(11)

時長(ms)

path

varchar(200)

歌曲文件鏈接

lyric

varchar(200)

歌詞文件鏈接

addtime

int(11)

發(fā)行時間

updatetime

int(11)

編輯時間

專輯表(album)結(jié)構(gòu)

字段

類型

注釋

id

int(11)

單曲id

singler_id

int(11)

所屬歌手id

name

varchar(50)

專輯名稱

cover

varchar(255)

專輯封面

desc

varchar(255)

專輯簡介

single_num

int(11)

單曲數(shù)

lang

varchar(50)

專輯語種

addtime

int(11)

創(chuàng)建時間

updatetime

int(11)

更新時間

創(chuàng)建表模型

在player工程目錄下的models.py中創(chuàng)建表模型。

專輯和單曲表關(guān)系為多對多,需要設(shè)置一個中間關(guān)系表;在django中多對多關(guān)系,不需要主動設(shè)置,會自動創(chuàng)建一個隱藏中間表。

內(nèi)容如下:

class Singe(models.Model):""" 單曲表 """name = models.CharField(max_length=50, help_text='請輸入單曲名稱')duration = models.IntegerField(help_text='請輸入歌曲時長(ms)')path = models.FileField(upload_to=upload_save_path, help_text='請上傳歌曲')lyric = models.FileField(upload_to=upload_save_path, help_text='請上傳歌曲單詞')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 設(shè)置與歌手表關(guān)聯(lián)外鍵# 一對多外鍵設(shè)置在多的模型中singler = models.ForeignKey("Singler", on_delete=models.CASCADE)class Album(models.Model):""" 專輯表 """name = models.CharField(max_length=50, help_text='請輸入專輯名稱')cover = models.ImageField(upload_to=upload_save_path, help_text='請上傳專輯封面圖')desc = models.CharField(max_length=255, help_text='請輸入專輯描述')single_num = models.IntegerField(default=0, help_text='請輸入單曲數(shù)')single_lang = models.CharField(max_length=50, help_text='請輸入專輯語種')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 設(shè)置與歌手表關(guān)聯(lián)外鍵 一對多 級聯(lián)刪除singler = models.ForeignKey("Singler", on_delete=models.CASCADE)# 設(shè)置與單曲表關(guān)聯(lián)外鍵 多對多Singe = models.ManyToManyField('Singe')

?

創(chuàng)建表

python manage.py makemigrationspython manage.py migrate

這兩條命令執(zhí)行結(jié)束后,數(shù)據(jù)庫增加player_album、player_singe表及關(guān)系表player_album_singe

表結(jié)構(gòu)如下:

CREATE TABLE `player_album` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`cover` varchar(100) NOT NULL,`desc` varchar(255) NOT NULL,`single_num` int(11) NOT NULL,`single_lang` varchar(50) NOT NULL,`addtime` datetime(6) NOT NULL,`updatetime` datetime(6) NOT NULL,`singler_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),KEY `player_album_singler_id_cde08698` (`singler_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;CREATE TABLE `player_singe` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`duration` int(11) NOT NULL,`path` varchar(100) NOT NULL,`lyric` varchar(100) NOT NULL,`addtime` datetime(6) NOT NULL,`updatetime` datetime(6) NOT NULL,`singler_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),KEY `player_singe_singler_id_103f9b74` (`singler_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;CREATE TABLE `player_album_singe` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`album_id` bigint(20) NOT NULL,`singe_id` bigint(20) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `player_album_Singe_album_id_singe_id_5df36ff3_uniq` (`album_id`,`singe_id`),KEY `player_album_Singe_album_id_2148d063` (`album_id`),KEY `player_album_Singe_singe_id_f3856b29` (`singe_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

?

后臺注冊表模型

在player目錄下admin.py中注冊單曲、專輯表模型到后臺。

增加自定義上傳文件路徑方法設(shè)置。

def upload_save_path(instance, filename):""" 上傳文件保存路徑 """return 'uploads/' + str(int(time.time())) + '/{0}'.format(filename)class Singe(models.Model):""" 單曲表 """name = models.CharField(max_length=50, help_text='請輸入單曲名稱')duration = models.IntegerField(help_text='請輸入歌曲時長(ms)')path = models.FileField(upload_to=upload_save_path, help_text='請上傳歌曲')lyric = models.FileField(upload_to=upload_save_path, help_text='請上傳歌曲單詞')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 設(shè)置與歌手表關(guān)聯(lián)外鍵# 一對多外鍵設(shè)置在多的模型中singler = models.ForeignKey("Singler", on_delete=models.CASCADE)# 設(shè)置與專輯表關(guān)聯(lián)外鍵album = models.ForeignKey("Album", on_delete=models.CASCADE)class Album(models.Model):""" 專輯表 """name = models.CharField(max_length=50, help_text='請輸入專輯名稱')cover = models.ImageField(upload_to=upload_save_path, help_text='請上傳專輯封面圖')desc = models.CharField(max_length=255, help_text='請輸入專輯描述')single_num = models.IntegerField(default=0, help_text='請輸入單曲數(shù)')single_lang = models.CharField(max_length=50, help_text='請輸入專輯語種')addtime = models.DateTimeField(auto_now_add=True)updatetime = models.DateTimeField(auto_now=True)# 設(shè)置與歌手表關(guān)聯(lián)外鍵singler = models.ForeignKey("Singler", on_delete=models.CASCADE)admin.site.register(Singe, SingeAdmin)
admin.site.register(Album, AlbumAdmin)

效果:

外鍵的設(shè)置,主要在添加的時候進行下拉菜單關(guān)聯(lián)添加。

?

后臺首頁輪播圖表模塊開發(fā)

表結(jié)構(gòu)設(shè)計

字段

類型

注釋

id

int(11)

自增id

path

varchar(100)

圖片路徑

href

varchar(100)

跳轉(zhuǎn)路徑

?

創(chuàng)建表模型

自增id不需指定,默認(rèn)自動添加。

class Carousel(models.Model):""" 首頁輪播圖 """path = models.ImageField(upload_to=upload_save_path, help_text='請選擇上傳首頁輪播圖')href = models.CharField(max_length=100, help_text='請輸入點擊圖片后跳轉(zhuǎn)路徑')

創(chuàng)建表

python manage.py makemigrationspython manage.py migrate

執(zhí)行過程:

?

后臺注冊表模型

在player/admin.py中添加輪播表模型,并注冊。

引入表模型

from .models import Carousel

后臺自定義

class CarouselAdmin(admin.ModelAdmin):# 列表頁屬性def get_path(self):return self.pathget_path.short_description = '圖片路徑'def get_href(self):return self.hrefget_href.short_description = '跳轉(zhuǎn)路徑'# 顯示字段list_display = ['id', get_path, get_href]admin.site.register(Carousel, CarouselAdmin)

效果:

總結(jié)

還是創(chuàng)建表模型到后臺注冊流程,增加了自定義上傳文件設(shè)置,還有兩種外鍵設(shè)置的方式:分別為一對多和多對多類型,其中一對多設(shè)置刪除為級聯(lián)方式,也就是刪除一時多的一方也會被刪除。

http://aloenet.com.cn/news/43409.html

相關(guān)文章:

  • 鎮(zhèn)江建工建設(shè)集團網(wǎng)站百度搜索量怎么查
  • 一等一網(wǎng)站建設(shè)seo搜索排名優(yōu)化方法
  • 重慶時時彩在線網(wǎng)站制作百度提交收錄
  • 屬于垂直型b2b網(wǎng)站的有青島官網(wǎng)seo
  • 網(wǎng)站推廣策劃書金華百度推廣公司
  • 建設(shè)銀行 成都 招聘網(wǎng)站哈爾濱網(wǎng)絡(luò)seo公司
  • 溫州網(wǎng)站建設(shè)方案維護訊展網(wǎng)站優(yōu)化推廣
  • 制作網(wǎng)站建設(shè)策劃方案手機推廣app
  • 做網(wǎng)站每年都要費用的嗎微商引流推廣
  • 網(wǎng)站建設(shè)環(huán)境分析百度推廣一般多少錢
  • 曲阜做網(wǎng)站最佳磁力搜索天堂
  • 2014做網(wǎng)站百度移動端點贊排名軟件
  • 外貿(mào)軟件定制域名查詢seo
  • 做網(wǎng)站排名的公司有哪些最好的營銷策劃公司
  • 聾啞工作設(shè)計做網(wǎng)站免費長尾詞挖掘工具
  • 怎樣做代刷網(wǎng)站百度廣告投放平臺叫什么
  • 電子類網(wǎng)站模板昆明百度推廣開戶費用
  • 廣州做網(wǎng)站多百度小說排行榜前十名
  • wordpress的列表汕頭seo公司
  • 西安定制網(wǎng)站建設(shè)中國知名網(wǎng)站排行榜
  • 四川疫情最新消息2019網(wǎng)站推廣優(yōu)化技巧
  • 如何做網(wǎng)站大管家如何優(yōu)化推廣網(wǎng)站
  • 陜西西安網(wǎng)站建設(shè)公司排名重慶seo排名技術(shù)
  • 無錫做網(wǎng)站哪里好成都全網(wǎng)營銷推廣
  • 織夢做電子商務(wù)網(wǎng)站小紅書seo排名帝搜軟件
  • 什么是網(wǎng)站建設(shè)和維護廈門seo小謝
  • 成功營銷案例免費seo營銷優(yōu)化軟件下載
  • 做外貿(mào)網(wǎng)站要注意什么查企業(yè)信息查詢平臺
  • 騰訊云服務(wù)器用什么做網(wǎng)站企業(yè)培訓(xùn)課程視頻
  • 個人養(yǎng)老金查詢山東seo多少錢