web.py
#-*- coding:utf-8 -*-
import web
import json
import requests
#from web.contrib.template import render_jinja
#render=render_jinja('templates',encoding='utf-8')用jinja2渲染
urls=(
r'/index','Index',
r'/search','Search'
)
#db=web.database(dbn='mysql',host='',user='',pw='',port=,db='',charset-'utf8')
#db.query|insert|update|delete
render=web.template.render('templates')#webpy自带的渲染
def geturl(name):
#request=requests.post('http://music.163.com/api/search/get/?type=1&s=%s&limit=10'%name,headers={'appver':'2.0.2','referer':'http://music.163.com'})
try:
result=requests.get('http://s.music.163.com/search/get/?type=1&s=%s&limit=10'%name,headers={'appver':'2.0.2','referer':'http://music.163.com'})
result=json.loads(result.content.decode('utf-8'))
if result.get('result'):
return result['result']['songs'][0]['album']['picUrl'],result['result']['songs'][0]['audio']
else:
return 'static/12.jpg','static/lizhi.mp3'
except Exception as e:
print e
class Index(object):
def GET(self):
return render.a()
class Search(object):
def GET(self):
text=web.input().get('search',None)
imgurl,mp3url=geturl(text)
return render.music(imgurl,mp3url)
if __name__=='__main__':
#print geturl('love')
web.application(urls,globals()).run()
#music.html
$def with(imgurl,mp3url,data)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div style='background-image:url($:imgurl);width:800px;height:600px;background-repeat:no-repeat'>
<div style='width:300px;height:32px;margin:0 auto;line-height:600px'>
<!--audio controls>
<source src="$:mp3url">
</audio-->
!--$for a in data:
<p> $:a.title </p>--!>
<audio src="$:mp3url" controls="controls">
</audio>
</div>
</div>
</body>
</html>
web.py的更多相关文章
- web.py框架入门
在使用微信搭建公众平台的时候,使用的是web.py这个方便简单的框架,学习一下. 框架文档:http://webpy.org/docs/0.3/tutorial.zh-cn 按照文档的内容写一遍程序 ...
- web.py学习心得
1.注意判断数字时,如果是get传递的参数,一定要用int转换.不然出错. 2.$var 定义时,冒号后的内容不是python内容,需加上$符号.如$var naviId:$naviId. 3.各个模 ...
- web.py+html+mysql实现web端小系统的问题汇总
利用web.py+html(bootstrap)+mysql实现了一个小型的设备管理系统,在这个过程中遇到很多问题,将问题及解决方案总结如下,有遇到类似问题的同学,希望可以帮到你们. 1.关于中文的编 ...
- mac OS X 配置Python+Web.py+MySQLdb环境
MAC默认支持Python 2.7所以不用安装. 1.安装pip sudo easy_install pip 2.安装Web.py sudo pip install Web.py 3.安装MySQLd ...
- web.py+mysql插入中文提示query = query.encode(charset) UnicodeEncodeError: 'latin-1' codec can't encode characters in position 86-100
对于中文编码的问题,总会出现各种各样恶心的错误,还不知道应该怎么解决,首先,你从最开头就应该关注编码问题,尽量保证所有的编码方式都是一致的 用python+web.py+mysql来写程序,首先要保证 ...
- Python Web.py
安装Web.py root@bt:~# sudo pip install web.py Downloading/unpacking web.py Downloading web.py-0.37.tar ...
- 迁移web.py项目至git@osc的项目演示平台
1. 开启演示平台 选择WSGI,输入应用名称,即是演示网页的网址. 2. web.py代码迁移 将Python的site-packages目录下的web文件夹复制到代码目录下,与网页程序在同一个文件 ...
- web.py网页模板中使用jquery
由于$是web.py针对模板的保留字符,所以在模板文件内不能直接使用$("#id")的格式. 解决办法: 1.$$("#id")可以避免$被误解析 2.jque ...
- WSGI、flup、fastcgi、web.py的关系
Apache/lighttpd: 相当于一个request proxy,根据配置,把不同的请求转发给不同的server处理,例如静态的文件请求自己处理,这个时候它就像一个web server,对于fa ...
- web.py simpletodo 例子
一个很好的例子: 许多新手,特别是从 ASP/PHP/JSP 转过来的同学,经常问下面这几个问题: 所有东西都放在一个 code.py 中呀?我有好多东西该如何部署我的代码? 是不是 /index 对 ...
随机推荐
- BEE网站
http://www.bee-framework.com/ http://syxiaqj.github.io/2014/02/28/bee-learning-1/#0-tsina-1-24637-39 ...
- [MySQL] 参数: innodb_flush_log_at_trx_commit和sync_binlog
MySQL参数: innodb_flush_log_at_trx_commit和sync_binlog innodb_flush_log_at_trx_commit和sync_binlog是MySQL ...
- gitlib 安装
参考文件https://www.cnblogs.com/rslai/p/9109624.html
- JAVA快速功能
1.日期格式化 Date date=new Date(); //转换成时间格式12小时制 SimpleDateFormat df_12=new SimpleDateFormat("yyyy- ...
- 利用WM_COPYDATA进行进程间通信
发信消息 void CControlDlg::OnBnClickedButtonSend() { // TODO: 在此添加控件通知处理程序代码 CString strWindowTitle = _T ...
- git从远程仓库中更新代码到本地仓库
git从远程仓库中更新代码到本地仓库 有时候在使用git pull的时候,会莫名才报错.查了很多资料,尝试过git的很多命令.包括git fetch命令,都会报同样的错.最后终于发现了一条捷径,由网友 ...
- Southern African 2001 框架折叠 (拓扑序列的应用)
本文链接:http://www.cnblogs.com/Ash-ly/p/5398377.html 题目:考虑五个图片堆叠在一起,比如下面的9 * 8 的矩阵表示的是这些图片的边缘框. 现在上面的图片 ...
- cake-walk
Of course it was not a cake-walk in the beginning 3. This is going to be a cakewalk 这将易如反掌. 4. Julia ...
- lor实践
1.启动一个nginx监听8888端口, -p 指定工作目录 -c 指定加载配置文件 在nginx.conf中,写一个server,进入lor项目的入口文件main.lua 2.main.lua执行r ...
- IntelliJ debug grails 无效的解决办法
从Grails 2.2以后默认run-app命令将启动Grails应用程序在一个单独的Java虚拟机. 这就是所谓的分叉的Tomcat Grails中的执行. 这样的类路径Grails构建系统和应用程 ...