Context

如果你要开发主题,那么阅读这篇文档,可以帮您了解view的context中都包含了些什么

基础context格式

每个view都返回了一个基础的context,他的格式如下:

  1. context = {
  2.  
  3. 'config' : {
  4. 'global_value' : { ... },
  5. 'top_menu' : { ... },
  6. 'top_ico' : [ ... ],
  7. 'common_config' : { ... }
  8. }
  9.  
  10. 'category' : [
  11.  
  12. {
  13. 'category' : Category, # Category - Category model的实例化对象
  14. 'children' :[
  15. {
  16. 'category':Category
  17. },
  18. { ... }
  19. ]
  20.  
  21. },
  22.  
  23. { ... }
  24.  
  25. ]
  26.  
  27. 'tags' :[ Tag, Tag ,] # Tag - Tag model的实例化对象
  28.  
  29. }
  • config : 配置中需要添加在context中的所有配置,默认返回的配置有 ‘global_value’,’top_menu’,’top_ico’,’common_config’
  • category : 按父子结构整理后的分类
  • tag : 按文章数量排序的tag list,返回20个

context中的对象

context中返回的article,category,tag等都是对应model的实例化对象,你可以直接在模板中使用对象的成员变量及函数,如:

  1. # 假设context = { 'article':Article }
  2.  
  3. # html:
  4. <h1>Article.title</h1>
  5. <div>Article.content</div>
  6.  
  7. # 获取文章的分类
  8. {% for c in Article.category %}
  9. <span>c.name</span> |
  10. {% end for %}

DeerU为每个model都提供了丰富的成员函数,你轻易从对象中获取你需要的数据。每个model的变量、函数说明参照 Model 这里不再叙述。

除了model里的对象,context还有一些特殊的对象:

class DeerUPaginator

deeru的Paginator

end_index

末尾页码

current_page_num

当前页码

class CommentForm

评论的form