09 2012 档案

摘要:使用Fedora包管理工具安装完Postgresql后,不管怎么折腾都无法随机器自动启动。今天花了点功夫仔细阅读了一些相关文件,终于找到了解决的办法。其实也很简单。根本原因是,我在安装完Postgresql后将数据库放到了/var/pgsql/data,而Postgresql默认的存放位置是/var/lib/pgsql/data。因而使用默认的安装配置无法找到数据库,所以启动失败。在解决的过程中,最开始想通过自定义一个开机脚本来解决,可以网上的方案都有问题。根本原因是在Fedora15以后,使用Systemd替代了原来的init,因而网上的通过编写或修改rc脚本的方案不再可行。在Systemd 阅读全文
posted @ 2012-09-28 09:02 雨吁的嘘 阅读(373) 评论(0) 推荐(0)
摘要:近日在服务器部署python项目,发现无法使用virtualenv创建python2.7的虚拟环境,服务器上的python版本默认是2.6,virtualenv的版本是1.4.5。后升级到virtualenv1.8.1后解决。virtualenv地址:https://github.com/pypa/virtualenv/tree/master 阅读全文
posted @ 2012-09-22 11:37 雨吁的嘘 阅读(338) 评论(0) 推荐(0)
摘要:Django的体系结构模式为MVT(Model、View、Template),与传统的MVC在理论层面基本一致:两者之间M的概念是一致的;MVT的View与MVC的Controller相对应;MVT的Template与MVC的View相对应。但Django更进一步,通过自身的基础结构对MVT的使用在某些层面具有一定的强制性,如在T中不能编写逻辑(所谓的{%if%}等都是普通标签而不是编程语言);也因为Django的命名和提供的一些基础结构与常规的(其他领域)的规范不尽相同,导致在某些方面会给人带来很多迷惑.比如,业务逻辑一般可以写入View层,或者是Model中,或者更具迷惑性的Manager 阅读全文
posted @ 2012-09-19 14:53 雨吁的嘘 阅读(280) 评论(1) 推荐(0)
摘要:今天编写了一个jQuery插件,虽然效果嘛是达到目的了,但是里边有一个问题暂时无法理解,先记下来再研究:(function($){ var hello = 'hello'; $.myPlugIn = { sayHello:function(){ alert(hello+' world!')}}})(jQuery);使用$.myPlugin.sayHello()可以看到正确的'hello world!'。但问题是hello这个变量生存在哪里呢?也就是这段代码组成的闭包不可能是嵌入到$命名空间中,也不会是在$.myPlugin中(是其父闭包)。那么她 阅读全文
posted @ 2012-09-13 09:30 雨吁的嘘 阅读(122) 评论(0) 推荐(0)
摘要:只要需求没有冻结,数据库基本上也不可能冻结。Django虽然提供模型向数据库的同步机制,但因为其只是一次性同步,当模型有所变化时其内置的同步功能就无能为力了。还好有很多开源的工具可以弥补Django在这方面的不足。south(http://south.aeracode.org/)就是其中之一。其简要的使用方法如下:按照标准的Python包的方式安装好之后,在Django配置文件(settings.py)中将south添加到INSTALLED_APPS中,并执行manager.py syncdb完成south所需数据表的安装。使用manage.py schemamigration <app 阅读全文
posted @ 2012-09-12 14:46 雨吁的嘘 阅读(306) 评论(0) 推荐(0)
摘要:Django是一个动态内容开发框架。其主要擅长的网站动态内容部分,然而一个网站必然要包含css、js等静态内容,这些内容的管理当然就不是Django所擅长的。在真是系统中,我们一般会被这些资源交给更擅长此道的Web Server或其他专用服务器。然而在开发过程中,毕竟Django连开发服务器都已经准备好了,只需简单的运行manager.py runserver即可,如果还要配置一个Web Server来配合的话,显得就太不专业了。对此Django提供的方案是,在开发期间由Django托管(由django.views.static.serve视图负责)。每个app都有可能有自己的静态文件,按照高 阅读全文
posted @ 2012-09-12 14:31 雨吁的嘘 阅读(386) 评论(1) 推荐(0)
摘要:Django默认提供了很好的跨域攻击保护(csrf)机制,采用常规的方法,我们几乎感觉不到这个机制的存在(好吧,还是需要在form中添加{% csrf_token %})。但是当我们期望能够以Ajax的方式向服务器提交表单的时候,问题就来了。常规的HTTP GET方法被认为是安全的,不会做csrf检查,而POST、PUT、DELETE等方法被认为是有潜在危险的。因为我们没有按照Django的要求在请求头/内容域中包含X-CSRFToken及相应的正确的值。Django会直接返回一个Http 403的错误回来。解决的办法其实也很简单,就是按照要求提供这个值即可。在Django文档中有非常详细的描 阅读全文
posted @ 2012-09-12 14:03 雨吁的嘘 阅读(1439) 评论(0) 推荐(0)
摘要:原来用的无线网卡是一块工程样片,在Windows上强制安装6230的驱动,除了作为AP会导致蓝屏外,其他的还好。可是在Linux系统,却无论如何也无法工作的。后换了一块Intel® Centrino® Advanced–N + WiMAX 6250,Linux启动后LED等顺利打开。rfkill、lspci等看到似乎都在正常工作,可就是无法搜到信号,手工设置接入点也无法正常连接。后来看到有人说wpa_supplicant与network manager冲突所致。删掉/etc/sysconfig/wpa_supplicant/后工作正常了。P.S.我的操作系统是Fedora 阅读全文
posted @ 2012-09-06 11:22 雨吁的嘘 阅读(234) 评论(0) 推荐(0)
摘要:与其说Django-cms是一个内容管理系统,不如说其实一个基础的开发平台。与常规的cms不同,Django-cms并不是一个开箱即用的产品,也没有提供很多内置的模板和主题,让用户快速的搭建一个网站出来。相反,要想使用Django-cms要求用户必须熟悉Django,其搭建的的过程很"像"一个是用Django开发的过程。本文根据一天的文档阅读心得总结而来。从结构上来说Django-cms包含以下内容:1、一个基础框架:多站点支持——好吧,其实是Django的多语言支持。没个页面可以有不同语言的版本。Page管理。后台可视化支持,包括Page结构和Page中插件(Plugin 阅读全文
posted @ 2012-09-06 09:39 雨吁的嘘 阅读(5286) 评论(2) 推荐(0)