zjm1126
|
2.0/chapter12/#22 |
2009-11-23 15:39:18
|
所有的数据库查询将被保存在内存中, 以
<literal>django.db.connection.queries</literal> 的形式. 你可以想象,这个吃内存!
|
|
15325@qq.com
|
2.0/chapter07/#465 |
2009-11-23 15:39:10
|
特别地,<literal>clean_message()</literal>方法将在指定字段的默认校验逻辑执行<emphasis> 之后</emphasis> 被调用。(本例中,在必填<literal>CharField</literal>这个校验逻辑之后。)因为字段数据已经被部分处理,所以它被从<literal>self.cleaned_data</literal>中提取出来了。同样,我们不必担心数据是否为空,因为它已经被校验过了。
|
|
old_taoist
|
2.0/chapter19/#135 |
2009-11-23 15:38:12
|
例如:
|
|
old_taoist
|
2.0/chapter19/#122 |
2009-11-23 15:37:48
|
在您的代码中,那是一个漏洞。
|
|
old_taoist
|
2.0/chapter19/#118 |
2009-11-23 15:36:03
|
例如:
|
|
old_taoist
|
2.0/chapter19/#115 |
2009-11-23 15:35:34
|
在Python中,无论何处你要使用一个unicode 字符串(一个<literal>unicode</literal> 类型的对象),您都可以使用一个 <literal>ugettext_lazy()</literal> 调用的结果。
|
|
zjm1126
|
2.0/chapter12/#24 |
2009-11-23 15:33:01
|
任何404错误都将呈现django的特殊的404页面(第3章有)而不是普通的404页面。
|
|
15325@qq.com
|
2.0/chapter07/#463 |
2009-11-23 15:28:51
|
如果有这样的方法,它将在校验时被调用。
|
|
15325@qq.com
|
2.0/chapter07/#462 |
2009-11-23 15:28:00
|
Django的form系统自动寻找匹配的函数方法,该方法名称以<literal>clean_</literal>开头,并以字段名称结束。
|
|
old_taoist
|
2.0/chapter19/#112 |
2009-11-23 15:26:45
|
在这个例子中, <literal>ugettext_lazy()</literal> 将字符串作为惰性参照存储,而不是实际翻译。
|
|
15325@qq.com
|
2.0/chapter07/#451 |
2009-11-23 15:24:26
|
一些提交的消息只有一两个字,我们无法得知详细的信息。
|
|
zjm1126
|
2.0/chapter12/#20 |
2009-11-23 15:23:01
|
例如, 如果 <literal>DEBUG</literal> 被设置成 <literal>True</literal> , 那么:
|
|
old_taoist
|
2.0/chapter19/#109 |
2009-11-23 15:22:20
|
例如:要翻译一个模型的 <literal>help_text</literal>,按以下进行
|
|
15325@qq.com
|
2.0/chapter07/#450 |
2009-11-23 15:21:14
|
这里有一个问题:
|
|
zjm1126
|
2.0/chapter12/#19 |
2009-11-23 15:20:55
|
我们在第2章创建了一个project ,命令 <literal>django-admin.py startproject</literal>
created a <literal>settings.py</literal> file with <literal>DEBUG</literal> set to <literal>True</literal> . django会检查这个设置和改变他们的行为, 如果 <literal>DEBUG</literal> 模式被开启.
|
|
15325@qq.com
|
2.0/chapter07/#445 |
2009-11-23 15:20:27
|
最大的区别是,如果仅传入<emphasis> 初始值</emphasis> 数据,表单是<emphasis>unbound</emphasis>的,那意味着它没有错误消息。
|
|
old_taoist
|
2.0/chapter19/#101 |
2009-11-23 15:19:45
|
这个串会稍后从变量翻译。
|
|
15325@qq.com
|
2.0/chapter07/#444 |
2009-11-23 15:18:33
|
请注意,传入<emphasis> 初始值</emphasis> 数据和传入数据以<emphasis> 绑定</emphasis> 表单是有区别的。
|
|
old_taoist
|
2.0/chapter19/#96 |
2009-11-23 15:16:42
|
如果你使用位置插入的话,翻译动作将不能重新排序占位符文本。
|
|
15325@qq.com
|
2.0/chapter07/#442 |
2009-11-23 15:16:16
|
现在,<literal>subject</literal>字段将被那个句子填充。
|
|
old_taoist
|
2.0/chapter19/#96 |
2009-11-23 15:16:10
|
如果你使用位置插入的话,译文将不能重新排序占位符文本。
|
|
15325@qq.com
|
2.0/chapter07/#439 |
2009-11-23 15:15:07
|
(一点建议,但没坏处。)为此,我们可以在创建<literal>Form</literal>实体时,使用<literal>initial</literal>参数:
|
|
old_taoist
|
2.0/chapter19/#95 |
2009-11-23 15:14:19
|
为了这个原因,无论何时当你有多于一个单一参数时,你应当使用命名字符串插入(例如: <literal>%(day)s</literal> )来替代位置插入(例如: <literal>%s</literal> or <literal>%d</literal> )
|
|
15325@qq.com
|
2.0/chapter07/#437 |
2009-11-23 15:09:20
|
让我们再改进一下这个表单:为字<literal>subject</literal>段添加<emphasis> 初始值</emphasis> :
|
|
old_taoist
|
2.0/chapter19/#93 |
2009-11-23 15:08:49
|
使用占位符(月份和日期)交换他们的位置。
|
|
zjm1126
|
2.0/chapter12/#17 |
2009-11-23 15:07:48
|
关闭Debug模式.
|
|
15325@qq.com
|
2.0/chapter07/#435 |
2009-11-23 15:07:12
|
设置初始值
|
|
15325@qq.com
|
2.0/chapter07/#430 |
2009-11-23 15:06:50
|
为此,仅需为<literal>CharField</literal>提供<literal>max_length</literal>参数,像这样:
|
|
15325@qq.com
|
2.0/chapter07/#433 |
2009-11-23 15:06:35
|
选项<literal>min_length</literal>参数同样可用。
|
|
zjm1126
|
2.0/chapter12/#15 |
2009-11-23 15:06:22
|
但是,在开始前,有一些<emphasis>essential things</emphasis> |
|
15325@qq.com
|
2.0/chapter07/#430 |
2009-11-23 15:05:23
|
为此,仅需为<literal>CharField</literal>提供<literal>max_length</literal>属性,像这样:
|
|
zjm1126
|
2.0/chapter12/#14 |
2009-11-23 15:05:03
|
很幸运,<literal>runserver</literal> |
|
old_taoist
|
2.0/chapter19/#92 |
2009-11-23 15:04:55
|
,而一段西班牙语译文会是 <literal>"Hoy es 26 de Noviembre."</literal> |
|
old_taoist
|
2.0/chapter19/#91 |
2009-11-23 15:03:53
|
比如,一段英语译文可能是 <literal>"Today is November 26."</literal> |
|
15325@qq.com
|
2.0/chapter07/#429 |
2009-11-23 15:03:12
|
另外,我们应该改进<literal>ContactForm</literal>,使<literal>subject</literal>限制在100个字符以内。
|
|
zjm1126
|
2.0/chapter12/#14 |
2009-11-23 15:01:47
|
很幸运,<literal>runserver</literal> |
|
old_taoist
|
2.0/chapter19/#86 |
2009-11-23 14:59:19
|
你传递给 <literal>_()</literal> 或 <literal>gettext()</literal> 的字符串可以接受占位符,由Python标准命名字符串插入句法指定的。
|
|
15325@qq.com
|
2.0/chapter07/#428 |
2009-11-23 14:55:45
|
一个最经常使用的校验要求是检查字段长度。
|
|
15325@qq.com
|
2.0/chapter07/#426 |
2009-11-23 14:54:09
|
设置最大长度
|
|
old_taoist
|
2.0/chapter19/#84 |
2009-11-23 14:54:05
|
稍后,在
<literal>makemessages</literal> 中会有更多讨论。
|
|
15325@qq.com
|
2.0/chapter07/#424 |
2009-11-23 14:53:49
|
考虑一下<literal>Field</literal>类表现<emphasis> 校验逻辑</emphasis> ,而部件表现<emphasis> 显示逻辑</emphasis> 。
|
|
old_taoist
|
2.0/chapter19/#83 |
2009-11-23 14:51:42
|
(以上两个例子中,对于使用变量或计算值,需要注意的一点是Django的待翻译字符串检测工具, <literal>make-messages.py</literal> ,将不能找到这些字符串。
|
|
zjm1126
|
2.0/chapter12/#12 |
2009-11-23 14:51:28
|
准备你的代码库
|
|
zjm1126
|
2.0/chapter12/#10 |
2009-11-23 14:49:59
|
在本章,我们将展示如何做,但是,在做之前我们要给你一个(要做的事的)清单.
|
|
zjm1126
|
2.0/chapter12/#10 |
2009-11-23 14:49:44
|
在本章,我们将展示如何做,但是,在做之前我们要给你一个(要做的事的)清单
|
|
15325@qq.com
|
2.0/chapter07/#418 |
2009-11-23 14:48:38
|
你可能首先注意到:当你在本地显示这个表单的时,<literal>message</literal>字段被显示成<literal> input type="text"</literal> ,而它应该被显示成<<literal> textarea</literal> >。我们可以通过设置<emphasis> widget</emphasis> 来修改它:
|
|
old_taoist
|
2.0/chapter19/#80 |
2009-11-23 14:47:49
|
这里是一个同样的例子:
|
|
zjm1126
|
2.0/chapter12/#9 |
2009-11-23 14:47:18
|
要部署你的django程序,你需要挂接到工业用的服务器 如:Apache
|
|
old_taoist
|
2.0/chapter19/#79 |
2009-11-23 14:46:34
|
翻译对变量也同样有效。
|
|
zjm1126
|
2.0/chapter12/#8 |
2009-11-23 14:45:40
|
但是<literal>runserver</literal> |
|