青园网站建设搜索引擎优化包括( )方面的优化
- 作者: 五速梦信息网
- 时间: 2026年03月21日 09:55
当前位置: 首页 > news >正文
青园网站建设,搜索引擎优化包括( )方面的优化,西安it培训机构,莞城注册能源公司网上注册流程使用Python Django框架制作一个音乐网站#xff0c; 本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。 目录 推荐页开发 推荐排行榜 单曲表增加播放量 表模型增加播放量字段 执行表操作 模板中显示外键对应值 表模型外键设置 获取外键对应模型值 推荐排行榜视图 推… 使用Python Django框架制作一个音乐网站 本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。 目录 推荐页开发 推荐排行榜 单曲表增加播放量 表模型增加播放量字段 执行表操作 模板中显示外键对应值 表模型外键设置 获取外键对应模型值 推荐排行榜视图 推荐排行榜模板 推荐歌手 推荐歌手视图 推荐歌手模板 总结 推荐页开发 推荐排行榜 排行榜这个功能后期在做吧比较麻烦目前先做一个模拟的排行榜数据返回。 单曲表增加播放量 做歌曲排行榜才发现歌曲表没有播放量字段。 表模型增加播放量字段 在player/models.py单曲表中增加播放量字段。 内容如下 playnum models.IntegerField(default0, editableFalse) 执行表操作 python manage.py makemigrations python manage.py migrate 执行过程 模板中显示外键对应值 在模板中显示外键对应值很关键在python中有特殊的方法开始时我还是按照以前的方式去显示即先获取A表模型中所有名称组成一个一维的列表然后获取B表模型数据在一个循环中使用B模型与A模型对应外键取相应值并赋值最终组成一个新的二维对象类型数据返回给模版结果模版解析不了二维对象。 之后直接返回A模型所有名称的一维列表在模板的for循环中使用B表模型中对应A模型外键直接解析还是不行 最终在网上找了好多文章才从其中一个找到端倪其实这个问题一点也不复杂因为Django中已经给做好了不用再做关键模型赋值操作其他文章没写是因为一旦会了就不觉得是问题但是不会真的百思不得其解在这里记录一下吧。 表模型外键设置
设置与歌手表关联外键 一对多外键设置在多的模型中
singler models.ForeignKey(Singler,on_deletemodels.CASCADE,verbose_name歌手,help_text请选择歌手 ) 获取外键对应模型值 {% for hot in hot_ranks %}{{ hot.singler.name }} {% endfor %} 推荐排行榜视图 在原来的推荐歌单数据查询下增加推荐排行榜查询处理。 def index(request): 显示首页 ……# 推荐排行榜# 热歌榜 取播放量最多的五个hot_ranks Singe.objects.order_by(-playnum).all()[0:5]# 新歌榜 取最新的五个new_ranks Singe.objects.order_by(-id).all()[0:5]# 飙升榜biao_ranks Singe.objects.order_by(id).all()[0:5]# 欧美榜ea_ranks Singe.objects.order_by(-id).all()[0:5]# 日韩榜js_ranks Singe.objects.order_by(id).all()[0:5]return render(request, index/index.html, {carousels: carousel_imgs,songsheets: songsheets,hot_ranks: hot_ranks,new_ranks: new_ranks,biao_ranks: biao_ranks,ea_ranks: ea_ranks,js_ranks: js_ranks}) 推荐排行榜模板 !–推荐排行榜开始– div classrecommend_rankdiv classtitlediv classname推荐排行榜/divullia href#更多/a/li/ul/divdiv classlistdiv classbankdiv classbank_topdiv classimgimg classimg_tip src{% static images/b1.png %} alt/divimg classimg_bg src{% static images/b1_1.jpg %} alt/divul classbank_list{% for hot in hot_ranks %}li{% if forloop.counter 1 %}div classtop_img top1/div{% elif forloop.counter 2 %}div classtop_img top2/div{% elif forloop.counter 3 %}div classtop_img top3/div{% else %}div classtop_index{{forloop.counter}}/div{% endif %}div classtop_infop classsong_name{{ hot.name }}/pp classsingler{{ hot.singler.name }}/p/div/li{% endfor %}/ul/divdiv classbankdiv classbank_topdiv classimgimg classimg_tip src{% static images/b2.png %} alt/divimg classimg_bg src{% static images/b2_2.jpg %} alt/divul classbank_list{% for news in new_ranks %}li{% if forloop.counter 1 %}div classtop_img top1/div{% elif forloop.counter 2 %}div classtop_img top2/div{% elif forloop.counter 3 %}div classtop_img top3/div{% else %}div classtop_index{{forloop.counter}}/div{% endif %}div classtop_infop classsong_name{{ news.name }}/pp classsingler{{ news.singler.name }}/p/div/li{% endfor %}/ul/divdiv classbankdiv classbank_topdiv classimgimg classimg_tip src{% static images/b3.png %} alt/divimg classimg_bg src{% static images/b3_3.jpg %} alt/divul classbank_list{% for biao in biao_ranks %}li{% if forloop.counter 1 %}div classtop_img top1/div{% elif forloop.counter 2 %}div classtop_img top2/div{% elif forloop.counter 3 %}div classtop_img top3/div{% else %}div classtop_index{{forloop.counter}}/div{% endif %}div classtop_infop classsong_name{{ biao.name }}/pp classsingler{{ biao.singler.name }}/p/div/li{% endfor %}/ul/divdiv classbankdiv classbank_topdiv classimgimg classimg_tip src{% static images/b4.png %} alt/divimg classimg_bg src{% static images/b4_4.jpg %} alt/divul classbank_list{% for ea in ea_ranks %}li{% if forloop.counter 1 %}div classtop_img top1/div{% elif forloop.counter 2 %}div classtop_img top2/div{% elif forloop.counter 3 %}div classtop_img top3/div{% else %}div classtop_index{{forloop.counter}}/div{% endif %}div classtop_infop classsong_name{{ ea.name }}/pp classsingler{{ ea.singler.name }}/p/div/li{% endfor %}/ul/divdiv classbankdiv classbank_topdiv classimgimg classimg_tip src{% static images/b5.png %} alt/divimg classimg_bg src{% static images/b5_5.jpg %} alt/divul classbank_list{% for jss in js_ranks %}li{% if forloop.counter 1 %}div classtop_img top1/div{% elif forloop.counter 2 %}div classtop_img top2/div{% elif forloop.counter 3 %}div classtop_img top3/div{% else %}div classtop_index{{forloop.counter}}/div{% endif %}div classtop_infop classsong_name{{ jss.name }}/pp classsingler{{ jss.singler.name }}/p/div/li{% endfor %}/ul/div/div /div !–推荐排行榜结束– 推荐歌手 先定一个规则取单曲最多的六位歌手。 推荐歌手视图 返回单曲最多的六位歌手还是在原来的基础上增加歌手的查询并返回给模板。 代码如下 def index(request): 显示首页 ……# 推荐歌手 取单曲最多的六个singlers Singler.objects.order_by(-singe_num).all()[0:6]return render(request, index/index.html, {carousels: carousel_imgs,songsheets: songsheets,hot_ranks: hot_ranks,new_ranks: new_ranks,biao_ranks: biao_ranks,ea_ranks: ea_ranks,js_ranks: js_ranks,singlers: singlers}) 推荐歌手模板 模板样式都已经写好了只需要在循环中解析和赋值就可以了。 代码如下 !–推荐歌手开始– div classrecommend_singlerdiv classtitlediv classname推荐歌手/divullia classnow href#华语/a/lilia href#欧美/a/lilia href#日韩/a/lilia href#组合/a/lilia href#更多/a/li/ul/divdiv classlist{% for sg in singlers %}div classitemdiv classcoverimg src/media/{{sg.portrait}} alt/divp classname{{sg.name}}/pp classnum{{sg.singe_num}}首歌曲/p/div{% endfor %}/div /div !–推荐歌手结束– 总结 做推荐页开发暂时就这样了还是比较顺利的只有在外键显示那边费了点事还是对django部分不了解才导致的这也是做项目的目的能够比较全面的使用框架的功能增进对框架的了解。
- 上一篇: 青县做网站摄影设计师是干嘛
- 下一篇: 青园网站建设移动互联网项目创业融资计划书
相关文章
-
青县做网站摄影设计师是干嘛
青县做网站摄影设计师是干嘛
- 技术栈
- 2026年03月21日
-
青少年心理建设网站开发网站 语言
青少年心理建设网站开发网站 语言
- 技术栈
- 2026年03月21日
-
青浦网站设计制作小程序代理好做吗
青浦网站设计制作小程序代理好做吗
- 技术栈
- 2026年03月21日
-
青园网站建设移动互联网项目创业融资计划书
青园网站建设移动互联网项目创业融资计划书
- 技术栈
- 2026年03月21日
-
青州网站建设 258成都网站建设 创新互联
青州网站建设 258成都网站建设 创新互联
- 技术栈
- 2026年03月21日
-
青州网站建设优化排名wordpress字体编辑器
青州网站建设优化排名wordpress字体编辑器
- 技术栈
- 2026年03月21日






