对于创建节点还要设category的方式无法接受,自行修改吧

2010-11-20 00:28:16 +08:00
 akira
其实就是加几句,减几句。修改好以后,创建好的node会自动在首页导航里面出现了。不过因为没加cache,效率上会很差。

backstage.py
@@ -1076,6 +1076,7 @@ class BackstageNewNodeHandler(webapp.RequestHandler):
1076 1076 node.name = node_name
1077 1077 node.title = node_title
1078 1078 node.title_alternative = node_title_alternative
1079 + node.category = section_name
1079 1080 node.put()

main.py
@@ -185,14 +185,11 @@ class HomeHandler(webapp.RequestHandler):
185 185 if c is None:
186 186 c = ''
187 187 i = 0
188 - if site.home_categories is not None:
189 - categories = site.home_categories.split("\n")
190 - else:
191 - categories = []
192 - for category in categories:
193 - category = category.strip()
188 + categoriesdb = db.GqlQuery("SELECT * FROM Section")
189 + for cate in categoriesdb:
190 + category = cate.name.strip()
194 191 i = i + 1
195 - if i == len(categories):
192 + if i == categoriesdb.count():
196 193 css_class = 'inner'
197 194 else:
198 195 css_class = 'cell'
5706 次点击
所在节点    Project Babel
3 条回复
chone
2010-11-20 00:33:51 +08:00
何必这样呢,创建以后手动的删除一下缓存就可以了。

后台有相应功能的,为这个去掉缓存没意义
akira
2010-11-20 00:40:26 +08:00
@chone 这个不是为了缓存,而是为了使新用户在开始的时候跟容易上手啦。

再看了下代码,原来livid加的缓存代码功能对这部分也有起作用的。。所以不用我另外处理啦 :lol
另外,在main.py里面添加一下代码,那么我们就可以直接通过调用xxx.appspot.com/flush来清除缓存了。后面里面那个清除功能反正我没搞懂怎么用。

+class FlushHandler(webapp.RequestHandler):
+ def get(self):
+ memcache.flush_all()
+ self.redirect('/')
+
def main():
application = webapp.WSGIApplication([
('/', HomeHandler),
+ ('/flush', FlushHandler),
('/recent', RecentHandler),
chone
2010-11-20 01:17:21 +08:00
index_categories

http://img.ly/2sPx

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/4776

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX