css控制图片自适应大小
获取的图片链接是不知道长宽的,设置成固定长宽会导致变形,所以需要用css自适应的控制其大小,这里给出了很trick的方法。
获取的图片链接是不知道长宽的,设置成固定长宽会导致变形,所以需要用css自适应的控制其大小,这里给出了很trick的方法。
rss阅读很头疼的一个问题就是:很多网站会防盗链,图片显示不正确;对此网上给出的反“防盗链”的方法都是伪装referer, 就是在http请求包里强制修改referer; 有很多实现方式,asp,php的都有,最后我用了残耳同学的,希望他能一直让我免费用下去,给出链接。
渲染网页缩略图有很多种思路,linux下有个叫khtml2png的工具可以用,windows下依托现成的渲染控件就有更多的exe了,有个不错的叫WebShots。但是我需要的是在无X环境的服务器上用dameon进程来做这件事,查了下发现貌似需要装Xvfb( X-virtual frame buffer)的这样一个虚拟的X环境,然后利用Gecho(firefox渲染引擎)或者Mac的那个引擎(忘了名字)在内存中渲染网页,并输出成图片。 bluehost上没有Xvfb,自个安装发现找不到合适的包,而且apt包管理器也没有,yum管理器运行出错,我汗了一地,然后去在线联系客服,用我半吊子的英文跟人解释了半天,人只说:apology for this & apology for that…, 最后还巨礼貌的让我联系他们的technical support。然后我又不得不憋了半天的英文邮件,解释我的问题,问他能不能给我装个虚拟的X环境,等了一天有了回复(bluehost的回复向来很快),又是apology for that… 没辙了~~
今天还是jerry告诉我的,不知道什么原因,MySQLdb import的时候报一个错误:libmysqlclient_r.so 15 链接不上;网上找了半天,说是两种原因:1. MySQLdb与MySql版本不匹配(但是前几天还好好的);2. 这个文件真的坏掉了。我检查了下,发现貌似都不是。 所以索性重新编译安装MySQL-python,上一个版本用的是easy_install安装的,重新easy_install安装依然无效;无奈只好下载源码编译安装,安装完毕import MySQLdb的时候报一个警告说发现两个导入;然后重新同步数据库发现就Ok了~~
1. shell权限:bluehost默认不给开shell权限,要给官方写邮件,并把驾照或者护照扫描件传过去,我没这些,只要扫描身份证了,好在以前的国内同仁肯定也这么干过,所以很顺利就通过了。 2. 更新python:bluehost上的python当前默认是2.4的,为了与时俱进,要升级一下,python的安装只要搞到shell权限就容易了,剩下的就是要规划好目录,并且配置shell的.bashrc环境变量,将新安装的python的bin目录加入到shell环境变量中,具体的可以参考这里。 3. django的安装:django下载下来之后,按照官方文档安装就是了,注意的依然是目录配置,因为后面需要向外发布Admin界面的时候,需要方便的找到Admin的media目录。 4. django的配置:django项目有两个概念:项目(project)和应用(app),一个项目中可以包含多个app,跟一些dev软件中的solution和project是一个道理。项目中主要是配置信息,比较重要的文件有两个:setting.py, urls.py,前者负责工程配置,后者负责url解析到对应的目录;还有个一个manage.py,是一个工具集,不同的运行参数可实现数据库同步(syncdb),dbshell,sqlall等等,具体的django配置可以参考这里。 5. fastcgi配置:要向外发布django应用,一种是用mod_python,另外就是用fastcgi; 前者稳定,但是修改配置需要重启apache服务器,后者相对稳定性弱一些,但是修改配置后只需要重启fastcgi进程。关于fastcgi的发布django的配置可以参考这里。而关于fastcgi的重启方法可以参考这里(我的山寨方法是每次先chomod -x dispatch.cgi, 删除运行权限;然后刷新页面;然后再chmod +x dispatch.cgi重置权限,貌似很有效)。 6. mysql中文编码问题:django的setting.py里需要设置local,即语言设置成zh-cn, DEFAULT_CHARSET为utf-8,FILE_CHARSET为utf-8。然后就是要在bluehost的cPanel中修改数据库的默认编码(因为shell没有权限修改,- -!),详细的参考这里。 7. django的Admin配置:django1.0和以前版本的配置方法已经有些不一样了,需要在app的目录下新建admin.py,具体的方法参考官方文档。Admin界面需要用到django安装目录下的css,js,image资源,所以需要在django的setting.py中指定ADMIN_MEDIA_PREFIX(可能不能和MEDIA_ROOT相同,所以用media老是不对,后来我改成admedia, 然后再urls.py中写上对应的url解析就ok了)。