bluehost上搞django的磕磕绊绊

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了)。

评论