1) 什么是slug
http://stackoverflow.com/questions/427102/what-is-a-slug-in-django
如上链接红色部分就是slug,它就是链接的最后一部分,slug有一些特殊的格式要求,所以model中还专门定义了一个SlugField用来添加到url里面
2) 什么是permalink
http://wwj718.github.io/django-permalink.html
permalink 是一个根据view function名称和参数反推出url的函数,这个在最新版本已经不建议使用了。
3)什么是decorator
http://www.cnblogs.com/Jerry-Chou/archive/2012/05/23/python-decorator-explain.html
decorator和django没有什么关系,只是上面的permalink是用decorator这样的语法实现的就讲一下,decorator本质是就把一个函数作为参数的另外一个函数,可以看成对一个函数对再一次封装,所以叫decorator。
4)什么是StackedInline
model可以再admin中注册显示,如果要同时显示多个model那就需要StackedInline这样的结构的帮助了,它就是用列表的方式显示多个object。另外还有一种tabular的格式,比stack更紧凑。
5) 什么是generic view
时就django对一些很常用view的抽象,方便调用,比如list_detail/object_detail等等,这个就比如一般的GUI库都会提供file open dialog这样的常用dialog一样。
6) 什么是manager
manger是model的接口,它返回的objects其实就是queryset,所有的访问都要通过manager来进行,有时候我们需要自定义一些manager,比如权限管理过滤掉一些不相干的查询结果,这时候就需要自定义manager,当然也可以有多个manager,每一个对应于不同的查询。
7) 怎么使用login
login 是django contrib提供的一个模块, 首先在template端要有form配合使用,关于form就是一系列用户要提交的内容集合,注意一个submit的type不可以少,这个就是要提交的信号。在提交的同时要有一个url的tempate tag设置好,他是告诉urls.py, form提交后要到哪里处理。 关于url的设置,这里就要连接到login模块了,如果有需要你要指定一下login模块对应的template,还有一个next就是login成功之后对应的模块。
8) 什么是signal
这个signal 的结构和qt极其类似,应用场景,比如你有一个table只是简单的依赖另外一个table,其中用one to one的key来映射,这时候当你update其中一个table的时候,另外一个也要一起update,这时候就要用 post_save的signal来处理, 对于这样的应用情况有一个专用名词就是profile model
9) google analytics
发现网站比较卡,发现有js在连google analytics, 这个还需要 thanks to the great fire wall.
10) breadcrumb
其实就是一种关于路径的导航,样式如下
Home page > Section page > Subsection page