Python论坛  - 讨论区

标题:[python-chinese] Django's Manipulator is too complicated

2007年03月08日 星期四 16:07

Neil(木野狐) chenrong2003在gmail.com
星期四 三月 8 16:07:13 HKT 2007

ÕâÁ½ÌìÔÚ´¦ÀíÒ»¸öÉÏ´«ÎļþµÄÎÊÌ⣬Django µÄ Manipulator ÒѾ­°ÑÎÒ¸ã·èÁË¡£ÓÐʱºò´úÂë²»¶Ô£¬Ò³ÃæÊä³öµÄÁ¬¿Ø¼þ¶¼Ã»ÓС£
Django ÎĵµÖÐ˵ {{ form.fieldname }} »áÓÉ Manipulator ×Ô¶¯Êä³öΪÏàÓ¦µÄ html ±êÇ©£¬Èç¹ûÊÇ
FileUploadField »òÕß ImageUploadField Ôò»áÊä³öÁ½¸ö tag£¬Ò»¸öÊÇÓÃÓÚÏÔʾµÄ£¬Ò»¸öÓÃÓÚÉÏ´«¡£¿ÉÊÇÎÒÔĶÁ django
Ô´´úÂëÓ²ÊÇûÕÒµ½ÆäʵÏֵĵط½¡£

ÄÄλ¶Ô Manipulator Ô­ÀíÕÆÎյıȽÏ͸µÄ£¬ÄÜ·ñ·ÖÏíһЩµ÷ÊÔ·½·¨¡£

ÏÖÔÚÒòΪ½ø¶ÈµÄ¹Øϵ£¬ÎÒ°ÑһЩ¹¦ÄÜÖ»ÄÜÓÃ×îԭʼµÄ·½Ê½ÔÚ view ÀïÃæÖ±½Ó´¦ÀíÁË¡£
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070308/e7c97ae2/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月08日 星期四 17:33

yi huang yi.codeplayer在gmail.com
星期四 三月 8 17:33:45 HKT 2007

On 3/8/07, Neil(木野狐) <chenrong2003 at gmail.com> wrote:
>
> 这两天在处理一个上传文件的问题,Django 的 Manipulator 已经把我搞疯了。有时候代码不对,页面输出的连控件都没有。
> Django 文档中说 {{ form.fieldname }} 会由 Manipulator 自动输出为相应的 html 标签,如果是
> FileUploadField 或者 ImageUploadField 则会输出两个 tag,一个是用于显示的,一个用于上传。可是我阅读 django
> 源代码硬是没找到其实现的地方。
>
> 哪位对 Manipulator 原理掌握的比较透的,能否分享一些调试方法。
>
> 现在因为进度的关系,我把一些功能只能用最原始的方式在 view 里面直接处理了。
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>

你说的应该是 db.models.fields.__init__.py,  FileField 的 get_manipulator_field_objs
和 get_manipulator_field_names 两个方法。

其实我觉得应该尽早转 newforms 了。

-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070308/160d0fd3/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月08日 星期四 22:44

Neil(木野狐) chenrong2003在gmail.com
星期四 三月 8 22:44:17 HKT 2007

>
> 其实我觉得应该尽早转 newforms 了。
>
> --

newforms 现在是不是还在开发阶段?有什么好处?

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月08日 星期四 22:51

yi huang yi.codeplayer在gmail.com
星期四 三月 8 22:51:21 HKT 2007

>
> newforms 现在是不是还在开发阶段?有什么好处?
>

已经开发得差不多了,代码都十几天没改动过了,现在已经在 newforms 的基础上开发新的 admin 了。
好处嘛,你不是说了:*Django's Manipulator is too complicated *嘛,newforms 好处就是简单。

-- 
http://codeplayer.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20070308/3bc65f5d/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月08日 星期四 23:09

Neil(木野狐) chenrong2003在gmail.com
星期四 三月 8 23:09:22 HKT 2007

谢谢。

在 07-3-8,yi huang<yi.codeplayer在gmail.com> 写道:
> > newforms 现在是不是还在开发阶段?有什么好处?
> >
>
> 已经开发得差不多了,代码都十几天没改动过了,现在已经在 newforms 的基础上开发新的 admin 了。
> 好处嘛,你不是说了:Django's Manipulator is too complicated 嘛,newforms 好处就是简单。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月08日 星期四 23:17

Neil(木野狐) chenrong2003在gmail.com
星期四 三月 8 23:17:33 HKT 2007

另外我在跟踪源代码的时候有个困惑,在 python24/lib/site-packages/django/
下面的源代码,我中间某个地方想输出点东西看看,用 print
根本没有反应,但那个地方的代码按理是肯定要执行到的。不知道是不是在什么地方输出流被重定向了?

因为项目时间紧,没有太多精力研究到 django 源代码很深的地方,希望了解的告诉我一下。

谢谢。

在 07-3-8,Neil(木野狐)<chenrong2003在gmail.com> 写道:
> 谢谢。
>
> 在 07-3-8,yi huang<yi.codeplayer在gmail.com> 写道:
> > > newforms 现在是不是还在开发阶段?有什么好处?
> > >
> >
> > 已经开发得差不多了,代码都十几天没改动过了,现在已经在 newforms 的基础上开发新的 admin 了。
> > 好处嘛,你不是说了:Django's Manipulator is too complicated 嘛,newforms 好处就是简单。
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 00:24

limodou limodou在gmail.com
星期五 三月 9 00:24:46 HKT 2007

On 3/8/07, Neil(木野狐) <chenrong2003在gmail.com> wrote:
> 另外我在跟踪源代码的时候有个困惑,在 python24/lib/site-packages/django/
> 下面的源代码,我中间某个地方想输出点东西看看,用 print
> 根本没有反应,但那个地方的代码按理是肯定要执行到的。不知道是不是在什么地方输出流被重定向了?
>
> 因为项目时间紧,没有太多精力研究到 django 源代码很深的地方,希望了解的告诉我一下。
>
要使用开发服务器来调试,或可以考虑使用log。


-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 00:27

limodou limodou在gmail.com
星期五 三月 9 00:27:32 HKT 2007

我自已写了一个Validator,与newforms很象,不过完全没有生成html代码的部分,但是支持validator_list这个原来manipulator有的定义方式,但在newforms中不存在的方法。对于校验数据和格式转换来说非常方便。目前还没有与model自动绑定的功能。因为目前我都是手工写save的代码,它可以放在Validator中的。代码可以在openbookplatform中utils/validator.py中找到(版本最新),或在djangosnippets.com中找到,不过不是很新,有些新改的还没有同步上去。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 00:29

Neil(木野狐) chenrong2003在gmail.com
星期五 三月 9 00:29:17 HKT 2007

我的确是用的开发服务器。在外层的 views 中,可以 print 输出,但是在他们导入的那些 django  的模块中,则不能输出。不知道是为什么。

在 07-3-9,limodou<limodou在gmail.com> 写道:

> >
> 要使用开发服务器来调试,或可以考虑使用log。
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 00:32

limodou limodou在gmail.com
星期五 三月 9 00:32:30 HKT 2007

On 3/9/07, Neil(木野狐) <chenrong2003在gmail.com> wrote:
> 我的确是用的开发服务器。在外层的 views 中,可以 print 输出,但是在他们导入的那些 django  的模块中,则不能输出。不知道是为什么。
>
那可能是你改的代码位置不对,要修改site-packages目录下的django源码才可以(当然你需要安装到这个目录下才可以)。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 00:48

Neil(木野狐) chenrong2003在gmail.com
星期五 三月 9 00:48:36 HKT 2007

好的,我回头再仔细研究下。谢谢了

在 07-3-9,limodou<limodou在gmail.com> 写道:
> On 3/9/07, Neil(木野狐) <chenrong2003在gmail.com> wrote:
> > 我的确是用的开发服务器。在外层的 views 中,可以 print 输出,但是在他们导入的那些 django  的模块中,则不能输出。不知道是为什么。
> >
> 那可能是你改的代码位置不对,要修改site-packages目录下的django源码才可以(当然你需要安装到这个目录下才可以)。
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 15:05

jejwe jejwester在gmail.com
星期五 三月 9 15:05:08 HKT 2007

¿ÉÒÔʹÓÃÎÒͬÊÂдµÄÕâ¸ölog,Ïñlog4netÒ»Ñù·½±ã
http://www.djangosnippets.org/snippets/16/
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070309/5c9a93c7/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 15:27

Neil(木野狐) chenrong2003在gmail.com
星期五 三月 9 15:27:37 HKT 2007

jejwe, Thanks!

在 07-3-9,jejwe<jejwester在gmail.com> 写道:
> 可以使用我同事写的这个log,像log4net一样方便
> http://www.djangosnippets.org/snippets/16/

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 16:33

Dreamingk(天成) dreamingk在gmail.com
星期五 三月 9 16:33:10 HKT 2007

最简单的方式 ,你可以 在 输出的地方加一句 import pdb; pdb.set_trace() 就ok了

On 3/9/07, Neil(木野狐) <chenrong2003在gmail.com> wrote:
>
> jejwe, Thanks!
>
> 在 07-3-9,jejwe<jejwester在gmail.com> 写道:
> > 可以使用我同事写的这个log,像log4net一样方便
> > http://www.djangosnippets.org/snippets/16/
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Dreamingk (tc, 天成)
    dreamingk(at)gmail.com
    http://python.cn
Exoweb (北京轩辕互动科技有限公司)
Python, I love this language.
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070309/950de7c5/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年03月09日 星期五 18:00

Neil(木野狐) chenrong2003在gmail.com
星期五 三月 9 18:00:00 HKT 2007

To jejwe:
log 配置好了,很好用 :)

To Dreamingk(天成):
谢谢,让我学到又一种调试方法。

问题的原因我想出来了,现在简单的 print 也好用。估计昨天头晕眼花了,代码跟踪到 django......egg 目录下去了。


在 07-3-9,Dreamingk(天成)<dreamingk在gmail.com> 写道:
> 最简单的方式 ,你可以 在 输出的地方加一句 import pdb; pdb.set_trace() 就ok了
>
> On 3/9/07, Neil(木野狐) <chenrong2003在gmail.com> wrote:
> >
> > jejwe, Thanks!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号