这是一个创建于 3630 天前的主题,其中的信息可能已经有所发展或是发生改变。
1. 第一个是关于django里面的generic模板。
从头开始都是自己一条url()对应一个view,之后发现有generic模板,因为边学边做的是个博客,所以发现这个generic太好用了。
即使文档里没有的,看看源码也行。尤其几个对应的TemplateView, ListView, DetailView, FormView差不多可以解决我的需求了。
但写到后面,又发现好像需求变多了,要重写父类接口的情况变多了,甚至有时候变得很繁复。
所以,想问的是,django开发里面的它自身的这套generic模板适用情况是怎么的?个人项目和企业项目里面这套generic是怎么样个存在?
2. 关于url里面的中文匹配
首先有这里三条规则
2.1 url(r'^topics/(?P<pk>.*)/$'……)
2.2 url(r'^topics/(?P<pk>[\u4e00-\u9fa5]+)/$'……)
2.3 url(r'^topics/(?P<pk>[-a-zA-Z0-9%]+)/$'……)
然后这里有三种url
(1)topics/银河护卫队 编码之后是(2)
(2)topics/%E9%93%B6%E6%B2%B3%E6%8A%A4%E5%8D%AB%E9%98%9F
(3) 还有不全的编码,假设取(银)这个字的前两位topics/%E9%93
2.1 可以匹配(1)(2)(3)的,包括中文
2.2 好像啥也不能匹配
2.3 不能匹配(1)(2),但是可以匹配(3)
我说的不能匹配的意思是开启django的debug模式,提示The current URL, blog/topics/银河护卫队/, didn't match any of these。
中文在url里不是会被编码为%E9%93%B6 这样么,但是django的url里面得到好像就是中文本身,但又怎么用中文的去匹配呢?
发帖时候发现我忘了中文要Unicode处理,然后又试了下,使用url(u'^topics/(?P<pk>[\u4e00-\u9fa5]+)/$'……)可以很好支持中文
3 条回复 • 2014-12-19 20:25:48 +08:00
|
|
1
ljcarsenal 2014-12-18 10:50:33 +08:00
url匹配那个,不加 /$应该能匹配的吧
|
|
|
3
laike9m 2014-12-19 20:25:48 +08:00
全 functional view 的飘过
|