luffy
|
2.0/chapter12/#27 |
2009-12-27 12:17:22
|
你的应用中任何未捕获的异常,从基本的python语法错误到数据库错误以及模板语法错误都会返回漂亮的Django错误页面。
|
|
luffy
|
2.0/chapter12/#28 |
2009-12-27 12:06:48
|
这个页面包含了比404错误页面更多的敏感信息,所以这个页面绝对不要公开暴露。
|
|
luffy
|
2.0/chapter11/#84 |
2009-12-27 11:52:16
|
在缺少 <1>template_name<2>的情况下,虽然<3>object_list<4>通用视图将根据对象的名字猜测一个。
|
|
luffy
|
2.0/chapter08/#380 |
2009-12-26 23:34:46
|
如果定义函数是在参数前加一个*符号,任意数量的 <1>positional<2>参数被放进一个元组里传递给函数。
|
|
luffy
|
2.0/chapter08/#381 |
2009-12-26 23:31:09
|
如果在参数前加**,任意数量的<1>keyword<2> 参数被放进一个字典里传递给函数。
|
|
luffy
|
2.0/chapter11/#115 |
2009-12-26 23:26:42
|
在模板内部,通用视图使用在<3>template_object_name<4> 后面添加<1>_list<2>的方法来创建变量表示项目集合。
|
|
luffy
|
2.0/chapter11/#115 |
2009-12-26 23:18:01
|
在模板内部,通用视图使用在<3>template_object_name<4> 后面添加<1>_list<2>的方法来创建变量表示项目集合。
|
|
|
2.0/chapter11/#115 |
2009-12-26 23:17:50
|
在模板内部,通用视图使用在<3>template_object_name<4> 后面添加<1>_list<2>的方法来创建变量表示项目集合。
|
|
luffy
|
2.0/chapter11/#84 |
2009-12-26 23:15:54
|
在缺少 <1>template_name<2>的情况下,虽然<3>object_list<4>通用视图将根据对象的名字猜测一个。
|
|
luffy
|
2.0/chapter11/#84 |
2009-12-26 23:14:48
|
在缺少 <1>template_name<2>的情况下,虽然<3>object_list<4>通用视图将根据对象的名字猜测一个。
|
|
luffy
|
2.0/chapter08/#386 |
2009-12-26 23:14:07
|
看一下它是怎么工作的
|
|
luffy
|
2.0/chapter08/#389 |
2009-12-26 23:14:06
|
回过头来看,你能发现我们用<literal>method_splitter()</literal>和<literal>*args</literal>接受<literal>**kwargs</literal>函数参数并把它们传递到正确的视图。<emphasis>any</emphasis> |
|
luffy
|
2.0/chapter11/#84 |
2009-12-26 23:13:57
|
在缺少 <1>template_name<2>的情况下,虽然<3>object_list<4>通用视图将根据对象的名字猜测一个。
|
|
luffy
|
2.0/chapter11/#110 |
2009-12-26 22:39:55
|
他们不得不去了解他们现在处理的数据是什么, 比方说在这里是书籍。
更好的变量名应该是<literal>publisher_list</literal>,这样变量所代表的内容就显而易见了。
|
|
luffy
|
2.0/chapter11/#159 |
2009-12-26 22:39:55
|
大部分通用视图都带有一个参数,这是视图知道显示那一组对象的原因。
|
|
luffy
|
2.0/chapter08/#379 |
2009-12-26 22:35:05
|
这是一个Python特性,允许函数接受动态的、可变数量的、参数名只在运行时可知的参数。
|
|
luffy
|
2.0/chapter11/#109 |
2009-12-26 22:10:50
|
这个 方法工作的很好,只是对编写模板的人不太友好:
他们必须知道这里正在处理的是书籍。
|
|
luffy
|
2.0/chapter08/#378 |
2009-12-26 21:56:00
|
这里我们已经重构了<1>method_splitter()<2>移除了 关键字参数<3>GET<4> 和<5>POST<6>,用<7>*args<8>和<9>**kwargs<10>取而代之。
|
|
luffy
|
2.0/chapter08/#378 |
2009-12-26 21:55:39
|
这里我们已经重构了<1>method_splitter()<2>移除了 关键字参数<3>GET<4> 和<5>POST<6>,用<7>*args<8>和<9>**kwargs<10>取而代之。
|
|
|
2.0/chapter08/#378 |
2009-12-26 21:55:29
|
这里我们已经重构了<1>method_splitter()<2>移除了 关键字参数<3>GET<4> 和<5>POST<6>,用<7>*args<8>和<9>**kwargs<10>取而代之。
|
|
luffy
|
2.0/chapter11/#84 |
2009-12-26 21:41:00
|
在缺少 <1>template_name<2>的情况下,虽然<3>object_list<4>通用视图将根据对象的名字猜测一个。
|
|
luffy
|
2.0/chapter11/#81 |
2009-12-26 21:28:23
|
我们能够通过在额外参数字典中包含一个<literal>template_name</literal>键来显式的告诉<literal>object_list</literal>视图使用那个模板
|
|
luffy
|
2.0/chapter11/#81 |
2009-12-26 21:26:42
|
我们能够通过在额外参数字典中包含一个键来显式的告诉<literal>template_name</literal>视图使用那个模板<literal>object_list</literal> |
|
luffy
|
2.0/chapter11/#50 |
2009-12-26 21:17:08
|
这里唯一有点棘手的事情是处理找不到模板的情况
|
|
luffy
|
2.0/chapter11/#51 |
2009-12-26 21:13:19
|
我们不希望一个不存在的模板导致一个服务端错误,用TemplateDoesNotExist异常并且升起404 errors 取而代之。
|
|
|
2.0/chapter11/#1 |
2009-12-26 21:07:59
|
通用视图
|
|
|
2.0/chapter14/#12 |
2009-12-24 09:11:18
|
要开发一个真正令人心动的网站,我们必须面对浏览器后面活生生的人。
|
|
CubeQ
|
2.0/chapter08/#383 |
2009-12-22 20:40:15
|
例如,对于这个函数
|
|
CubeQ
|
2.0/chapter08/#383 |
2009-12-22 20:39:25
|
例如,对于这个函数
|
|
spiderman
|
2.0/chapter08/#404 |
2009-12-22 15:35:40
|
花点时间来看看这个:
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 04:08:30
|
作者更改列表页截屏
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 04:08:15
|
119
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 04:07:55
|
119
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 04:04:40
|
119
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 03:24:54
|
119
|
|
old_taoist
|
2.0/chapter06/#300 |
2009-12-22 03:23:44
|
119
|
|
old_taoist
|
2.0/chapter06/#137 |
2009-12-22 03:20:29
|
Django 对像历史页面
|
|
old_taoist
|
2.0/chapter06/#136 |
2009-12-22 03:20:13
|
图6-6.
|
|
old_taoist
|
2.0/chapter06/#130 |
2009-12-22 03:19:56
|
编辑表格显示错误信息
|
|
old_taoist
|
2.0/chapter06/#129 |
2009-12-22 03:19:41
|
图6-5.
|
|
old_taoist
|
2.0/chapter06/#113 |
2009-12-22 03:19:18
|
典型的编辑表格
|
|
old_taoist
|
2.0/chapter06/#112 |
2009-12-22 03:19:05
|
图 6-4.
|
|
old_taoist
|
2.0/chapter06/#102 |
2009-12-22 03:18:47
|
图 6-3.
|
|
old_taoist
|
2.0/chapter06/#103 |
2009-12-22 03:18:32
|
典型的改变列表视图
|
|
old_taoist
|
2.0/chapter06/#102 |
2009-12-22 03:18:05
|
|
|
xypmdxx
|
2.0/chapter15/#200 |
2009-12-17 22:48:49
|
请参阅使用其他头节下面有关这些装饰。
|
|
xypmdxx
|
2.0/chapter15/#199 |
2009-12-17 22:48:19
|
它有一个最大,年龄在其缓存部分,控制头),那么页面将届满时为止,而不是CACHE_MIDDLEWARE_SECONDS缓存。使用django.views.decorators.cache的装饰,您可以轻松地设置视图的到期时间(使用cache_control装饰)或禁用缓存视图(使用never_cache装饰)。
|
|
xypmdxx
|
2.0/chapter15/#198 |
2009-12-17 22:46:06
|
如果视图设置自己的缓存到期时间(即
|
|
xypmdxx
|
2.0/chapter15/#196 |
2009-12-17 22:45:32
|
参阅更多的中间件第17章。
|
|
xypmdxx
|
2.0/chapter15/#188 |
2009-12-17 22:44:59
|
此外,缓存中间件自动设置在每个中HttpResponse几个标题:
|
|