把回复作为blog对我来说比较少,但是我想正好把我的一些想法让大家了解,也没什么坏处。许多新出来的东西可能都有其不为人知的方面,也可能是误解,澄清一下对于公平的了解还是有必要。正如我以前评论ulipad一样,我不期望所有人都使用我的ulipad,但是我希望我的东西要首先满足我个人的要求,连我都满足不了,还能满足别人吗?阅读全文>
发表于 @ 2009年10月18日 10:33:00 | 评论( loading... ) | 举报| 收藏
使用webob在处理通过fancyupload上传的文件,发现会系统挂起,但只要先把request.body读出来就没有问题。因此在uliweb中,将原来使用的webob去除,改成了werkzeug来处理了。
阅读全文>
发表于 @ 2009年10月17日 11:12:00 | 评论( loading... ) | 举报| 收藏
最近一段时间一直在忙着ORM的优化,其中有几点:1.增加__table_args__的配置。它和__tablename__一样是定义在Model类中的,可以用来增加在执行Table时添加新的一些参数,如果你使用mysql,可以如下定义:class Todo(Model): __table_args__ = dict( mysql_engine='InnoDB', mysql_charset='utf8') 这样将在建表时,向Table中添加这样的信息。上面的代码将以InnoDB和utf8编码来创建todo表。阅读全文>
发表于 @ 2009年10月15日 21:34:00 | 评论( loading... ) | 举报| 收藏
pyini.py是处理Uliweb的settings.ini的模块,今天向它添加了三个新的方法:set_var, get_var, del_var,它们的特点集中在第一个参数,它可以是'/'分开的字符串,如:'DEFAULT/flag',它相当于:
s = ini.add('DEFAULT')
s['flag'] = True
注意,它只支持一层的'/'切分,如:'DEFAULT/flag/name'相当于 'DEFAULT'和'flag/name'。阅读全文>
发表于 @ 2009年10月15日 20:18:00 | 评论( loading... ) | 举报| 收藏
原文: http://j-lite.net/blog/2009/09/28/lets-talk-about-uliweb回复如下:首先感谢对Uliweb的批评。 以下要澄清:1. 其实所有的框架都是大杂烩,django也不利外。而且别人做好的东西,如果没有什么问题,拿过来用当然就可以了。特别象是框架,它更多的是提供管理模式和一些工具,本身就是个大杂烩。2. 大一统是不可能的,正如世界上有那么多可以统一的东西为什么没有统一,如:语言,操作系统,数据库?因为多样性才是这个世界的特点。更因为人们总有不同的思念和需求。3. 为什么不向django和web2py做贡献?贡献我的确做过,如果你去查django和web2py相关的内容,应该还有我的名字。但是有些东西是不可调合的,比如对设计的一些看法,对一些组件的使用,这些东西我建议过,他们并不接受。所以只有以自已的方式来构造。重新构造也是一个很痛苦的过程,但是可以让造出来的东西完全按自已的意愿发展,也是一种不错的选阅读全文>
发表于 @ 2009年10月15日 07:45:00 | 评论( loading... ) | 举报| 收藏
原文如下:Congratulations,Uliweb, one of your products, has been added to Softpedia's database ofsoftware programs for Linux. It is featured with a description text,screenshots, download links and technical details on this page:http://linux.softpedia.com/get/Internet/HTTP-WWW-/Uliweb-51417.shtmlThe description text was created by our editors, using sources such astext from your product's homepage, information from its help system, the阅读全文>
发表于 @ 2009年10月13日 22:18:00 | 评论( loading... ) | 举报| 收藏
You know, Uliweb uses expose() to define url, for example:@expose('/index')But when you want to change the url suffix for an App, you should editevery views file(of cause you can use static urls.py appoach, but Iwon't talk about it now). Fox example how to change '/wiki/*' to'/mywiki/*'? So I add this new feature to Uliweb, so that you candefine the URL suffix for an App, just adding an entry to URL session,for example:[URL]wiki =阅读全文>
发表于 @ 2009年10月13日 22:10:00 | 评论( loading... ) | 举报| 收藏
在Uliweb中,用户可以自已编写App,而且这些App可能依赖于其它的模块,因此如何安装是一个问题。因此我想到利用easy_install来实现这一目的。其实很简单,找到easy_install程序,打开看一下它的实现:import sysfrom pkg_resources import load_entry_pointsys.exit( load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')())于是改造一下:def install(packages): from pkg_resources import load_entry_point load = load_entry_point('setuptools', 'console_scripts', 'easy_instal阅读全文>
发表于 @ 2009年10月13日 20:03:00 | 评论( loading... ) | 举报| 收藏
http://wiki.woodpecker.org.cn/moin/FrameworksShow第4题:CSS文件引用 静态文件的使用,在模板文件中引入default.css(内容见下面说明)default.cssh1 {border:1px solid #f00;}阅读全文>
发表于 @ 2009年10月13日 15:04:00 | 评论( loading... ) | 举报| 收藏
变化真是不少,不过大部分都是代码的重构,因为用得少,所以体会并不深。不过至少我看到DDL可以象其它的表达式对象被打印了。比如:from sqlalchemy.schema import CreateTablecreate = CreateTable(mytable)# dumps the CREATE TABLE as a stringprint create 这是我非常想要的。这样就可以象django一样,打印出建表的SQL语句了。现在的Uliweb用的方法有问题。考虑着什么时候换成0.6啊。http://www.sqlalchemy.org/trac/wiki/06Migration阅读全文>
发表于 @ 2009年10月13日 09:12:00 | 评论( loading... ) | 举报| 收藏
在UliPad中定义菜单项时可以同时设定Accelerator(快捷键),通常是采用:caption\tCtrl+A之类的形式。但是一旦你这样定义,它就变成全局的了。这样如果你定义了Ctrl+C, Ctrl+V之类的,不管你在哪个窗口按下这样的组合键,它都会被激活。那么这带来一个问题,当你有多个编辑窗口时,这此事件应该对应哪个窗口呢?阅读全文>
发表于 @ 2008年04月01日 10:03:00 | 评论( loading... ) | 举报| 收藏
平台是由VCC搭建,本人翻译完成。阅读全文>
发表于 @ 2008年03月24日 11:14:00 | 评论( loading... ) | 举报| 收藏
虽然web2py可以基本上在浏览器完成几乎所有的工作,但是就某些简单的代码测试来说还不是太方便,因此考虑到django中可以通过manage.py shell进入一个命令行,它可以预设一些工作,比如环境变量的设置,这样再进行测试会非常方便。于是研究了一下web2py的调用处理,模仿django写了这么一个工作,目前已经被web2py接受放在了svn中,不过我测试还不多,所以不知道有没有问题。阅读全文>
发表于 @ 2008年03月13日 10:17:00 | 评论( loading... ) | 举报| 收藏