鱼C论坛

 找回密码
 立即注册
查看: 848|回复: 4

[已解决]使用django框架做网站,一个关于全局变量的问题

[复制链接]
发表于 2019-2-3 19:00:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 mulus 于 2019-2-3 19:00 编辑
  1. def play2(request, MusicS_star_productions):
  2.     #mp3id, mp3url, mp3img = 417859631, 'http://music.163.com/song/media/outer/url?id=417859631.mp3','http://p1.music.126.net/hti_a0LADoFMBHvOBwAtRA==/1369991500930171.jpg'
  3.     music_name = MusicS_star_productions
  4.     STARS = Music.objects.filter(star_productions=music_name)
  5.     #global mp3id, mp3url, mp3img
  6.     for STARS in STARS.all():

  7.         #global mp3id, mp3url, mp3img
  8.         mp3id = STARS.music_bianhao
  9.         mp3url = 'http://music.163.com/song/media/outer/url?id={}.mp3'.format(mp3id)
  10.         mp3img = STARS.star_music_img
  11.         lrc = lyric(request, mp3id)

  12.     comments = Comment.objects.filter(mp3id=mp3id)
  13.     dict1 = {'comments': comments, 'mp3id': mp3id, 'mp3url': mp3url, 'mp3img': mp3img, 'music_name': music_name, 'lrc': lrc}

  14.     return render(request, 'play.html', dict1)
复制代码


STARS是个models
用for循环取出STARS对象中的元素
此时:
网站弹出错误是:comments = Comment.objects.filter(mp3id=mp3id) 中的mp3id未赋值前引用,之后经过百度是for循环中没有设置全局变量,然后尝试加入全局变量,网站又显示错误:未定义就设置全局变量,我就给赋了一个初值,但是仍然弹出错误:名称'mp3id'在全局声明之前被指定。。。所以这个声明也不对,不声明也不对,已经无语了,,求大佬告知错误在哪,感谢~
最佳答案
2019-2-9 15:56:42
mulus 发表于 2019-2-9 11:31
恩恩,这是把界面上的歌名返回给函数,之后去数据库中找到对应的对象,每个对象包含了图片,音乐网址,和 ...

你获取音乐数据的对象有问题说明你models的设计有问题。或者说检索的时候出问题了。  

你最好把整个项目发出来让我看看才知道,你的问题出在哪里。   

这样说的话很难讲。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-3 22:35:55 | 显示全部楼层
你这是想实现什么功能啊??
我这里看你这里是做一个搜索歌名,然后返回一个列表到html中对吧??

你先说一下你到底想实现什么功能,说不定可以不用global
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-9 11:31:36 | 显示全部楼层
wongyusing 发表于 2019-2-3 22:35
你这是想实现什么功能啊??
我这里看你这里是做一个搜索歌名,然后返回一个列表到html中对吧??

恩恩,这是把界面上的歌名返回给函数,之后去数据库中找到对应的对象,每个对象包含了图片,音乐网址,和音乐id等信息,想把这个对象的这些内容拿出来用,可惜我这搞不太懂,取对象中的信息老是有问题,求告知
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-9 12:02:44 | 显示全部楼层
wongyusing 发表于 2019-2-3 22:35
你这是想实现什么功能啊??
我这里看你这里是做一个搜索歌名,然后返回一个列表到html中对吧??

它虽然报错但是主界面上点击歌曲跳转播放的功能竟然还能实现,这是我要添加另一个“我的歌单”页面的时候才卡在这里的,明明在跳转“我的歌单”页面时没有用到这个play2函数,但是它就是报错了,我仅仅是想多添加一个页面。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-9 15:56:42 | 显示全部楼层    本楼为最佳答案   
mulus 发表于 2019-2-9 11:31
恩恩,这是把界面上的歌名返回给函数,之后去数据库中找到对应的对象,每个对象包含了图片,音乐网址,和 ...

你获取音乐数据的对象有问题说明你models的设计有问题。或者说检索的时候出问题了。  

你最好把整个项目发出来让我看看才知道,你的问题出在哪里。   

这样说的话很难讲。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 15:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表