当前位置: 首页 > news >正文

快手做电商需要投资多少钱金华百度seo

快手做电商需要投资多少钱,金华百度seo,北京市朝阳区最新消息,wordpress 更新 ftp使用Python Django框架制作一个音乐网站, 本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。 目录 推荐页开发 推荐排行榜 单曲表增加播放量 表模型增加播放量字段 执行表操作 模板中显示外键对应值 表模型外键设置 获取外键对应模型值 推荐排行榜视图 推…

使用Python Django框架制作一个音乐网站,

本篇主要是推荐页-推荐排行榜、推荐歌手功能开发。

目录

推荐页开发

推荐排行榜

单曲表增加播放量

表模型增加播放量字段

执行表操作

模板中显示外键对应值

表模型外键设置

获取外键对应模型值

推荐排行榜视图

推荐排行榜模板

推荐歌手

推荐歌手视图

推荐歌手模板

总结


推荐页开发

推荐排行榜

排行榜这个功能后期在做吧,比较麻烦,目前先做一个模拟的排行榜数据返回。

单曲表增加播放量

做歌曲排行榜才发现歌曲表没有播放量字段。

表模型增加播放量字段

在player/models.py单曲表中增加播放量字段。

内容如下:

playnum = models.IntegerField(default=0, editable=False)

执行表操作
python manage.py makemigrations
python manage.py migrate

执行过程

模板中显示外键对应值

在模板中显示外键对应值很关键,在python中有特殊的方法,开始时我还是按照以前的方式去显示,即先获取A表模型中所有名称组成一个一维的列表,然后获取B表模型数据,在一个循环中使用B模型与A模型对应外键,取相应值并赋值,最终组成一个新的二维对象类型数据返回给模版,结果模版解析不了二维对象。

之后直接返回A模型所有名称的一维列表,在模板的for循环中使用B表模型中对应A模型外键直接解析,还是不行!

最终在网上找了好多文章,才从其中一个找到端倪;其实这个问题一点也不复杂,因为Django中已经给做好了,不用再做关键模型赋值操作,其他文章没写是因为一旦会了就不觉得是问题,但是不会真的百思不得其解,在这里记录一下吧。

表模型外键设置
# 设置与歌手表关联外键 一对多外键设置在多的模型中
singler = models.ForeignKey("Singler",on_delete=models.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 class="recommend_rank"><div class="title"><div class="name">推荐排行榜</div><ul><li><a href="#">更多></a></li></ul></div><div class="list"><div class="bank"><div class="bank_top"><div class="img"><img class="img_tip" src="{% static 'images/b1.png' %}" alt=""></div><img class="img_bg" src="{% static 'images/b1_1.jpg' %}" alt=""></div><ul class="bank_list">{% for hot in hot_ranks %}<li>{% if forloop.counter == 1 %}<div class="top_img top1"></div>{% elif forloop.counter == 2 %}<div class="top_img top2"></div>{% elif forloop.counter == 3 %}<div class="top_img top3"></div>{% else %}<div class="top_index">{{forloop.counter}}</div>{% endif %}<div class="top_info"><p class="song_name">{{ hot.name }}</p><p class="singler">{{ hot.singler.name }}</p></div></li>{% endfor %}</ul></div><div class="bank"><div class="bank_top"><div class="img"><img class="img_tip" src="{% static 'images/b2.png' %}" alt=""></div><img class="img_bg" src="{% static 'images/b2_2.jpg' %}" alt=""></div><ul class="bank_list">{% for news in new_ranks %}<li>{% if forloop.counter == 1 %}<div class="top_img top1"></div>{% elif forloop.counter == 2 %}<div class="top_img top2"></div>{% elif forloop.counter == 3 %}<div class="top_img top3"></div>{% else %}<div class="top_index">{{forloop.counter}}</div>{% endif %}<div class="top_info"><p class="song_name">{{ news.name }}</p><p class="singler">{{ news.singler.name }}</p></div></li>{% endfor %}</ul></div><div class="bank"><div class="bank_top"><div class="img"><img class="img_tip" src="{% static 'images/b3.png' %}" alt=""></div><img class="img_bg" src="{% static 'images/b3_3.jpg' %}" alt=""></div><ul class="bank_list">{% for biao in biao_ranks %}<li>{% if forloop.counter == 1 %}<div class="top_img top1"></div>{% elif forloop.counter == 2 %}<div class="top_img top2"></div>{% elif forloop.counter == 3 %}<div class="top_img top3"></div>{% else %}<div class="top_index">{{forloop.counter}}</div>{% endif %}<div class="top_info"><p class="song_name">{{ biao.name }}</p><p class="singler">{{ biao.singler.name }}</p></div></li>{% endfor %}</ul></div><div class="bank"><div class="bank_top"><div class="img"><img class="img_tip" src="{% static 'images/b4.png' %}" alt=""></div><img class="img_bg" src="{% static 'images/b4_4.jpg' %}" alt=""></div><ul class="bank_list">{% for ea in ea_ranks %}<li>{% if forloop.counter == 1 %}<div class="top_img top1"></div>{% elif forloop.counter == 2 %}<div class="top_img top2"></div>{% elif forloop.counter == 3 %}<div class="top_img top3"></div>{% else %}<div class="top_index">{{forloop.counter}}</div>{% endif %}<div class="top_info"><p class="song_name">{{ ea.name }}</p><p class="singler">{{ ea.singler.name }}</p></div></li>{% endfor %}</ul></div><div class="bank"><div class="bank_top"><div class="img"><img class="img_tip" src="{% static 'images/b5.png' %}" alt=""></div><img class="img_bg" src="{% static 'images/b5_5.jpg' %}" alt=""></div><ul class="bank_list">{% for jss in js_ranks %}<li>{% if forloop.counter == 1 %}<div class="top_img top1"></div>{% elif forloop.counter == 2 %}<div class="top_img top2"></div>{% elif forloop.counter == 3 %}<div class="top_img top3"></div>{% else %}<div class="top_index">{{forloop.counter}}</div>{% endif %}<div class="top_info"><p class="song_name">{{ jss.name }}</p><p class="singler">{{ 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 class="recommend_singler"><div class="title"><div class="name">推荐歌手</div><ul><li><a class="now" href="#">华语</a></li><li><a href="#">欧美</a></li><li><a href="#">日韩</a></li><li><a href="#">组合</a></li><li><a href="#">更多></a></li></ul></div><div class="list">{% for sg in singlers %}<div class="item"><div class="cover"><img src="/media/{{sg.portrait}}" alt=""></div><p class="name">{{sg.name}}</p><p class="num">{{sg.singe_num}}首歌曲</p></div>{% endfor %}</div>
</div>
<!--推荐歌手结束-->

总结

做推荐页开发暂时就这样了还是比较顺利的,只有在外键显示那边费了点事,还是对django部分不了解才导致的,这也是做项目的目的,能够比较全面的使用框架的功能,增进对框架的了解。

http://www.15wanjia.com/news/189698.html

相关文章:

  • 集团网站建设教程安徽网站优化建设
  • 定制网站开发公司哪家好?点击查看wordpress被篡改文件
  • 电商网站设计岗位主要是微信手机官网登录入口注册
  • 做新闻类网站需要什么资质如何申请网页域名
  • 首饰网站建设网站开发与设计培训
  • 从事网站开发需要的证书电话销售系统
  • 英文网站翻译怎么做呢京东企业的电子网站建设
  • 钦州电商网站建设wordpress地图在哪
  • 网站开发的费用属于什么科目网站设计O2O平台佛山总代理
  • 建设高校实验教学网站的作用如何开发wordpress
  • wordpress如何多用户成都纯手工seo
  • 广西钦州有做网站的公司吗广州公司注册流程及材料
  • 五大搜索引擎 三大门户网站软件班级网站建设主题
  • 可以自己做效果图的网站h5网站开发框架
  • 兰州高端网站建设自己可以做视频网站吗
  • 百度 模块网站手机上怎么制作app软件
  • 飓风算法受影响的网站怎么做一种网站为别人宣传
  • 南京网站建设费用望野千枝叶
  • 膜结构网站推广怎么做平台网站建设开票开什么内容
  • 巴中网站建设天仁云网站自动化开发
  • 网站怎么做移动端适配用手机如何制作简历
  • 网站建设督查工作主持词一键优化什么意思
  • dede 两个网站图片路径闲鱼网站如何赚钱
  • 淘宝美工网站怎么做中国建设住建网站
  • html展示网站源代码wordpress每段不同图片
  • 网站备案是什么购物网站前台功能
  • 网站logo是什么意思广西建设厅网证件查询
  • 哪个网站可以找设计师做设计师劳务公司注册
  • 网站建设制作价格品牌建设对企业发展的重要性
  • 建行网站会员是什么十大影视传媒公司