对V2EX做了点改动

2010-12-21 10:03:29 +08:00
 mamimoluo
昨天才来这里,发现小站做的很2.0,就下了安装试了试:
http://game-over.appspot.com/

简略看了下源码,发现做的很不DRY,作者很有功夫。

发现了几个常见的问题:
1、帖子里的链接都是在本页面打开,因为贴内链接大都是外站链接,应该新窗口打开。
修改方法:重写django的urlize过滤器(这里作者使用的是django的转换函数,完全可以自己写的,django的太庞大~)
在/v2ex/templatetags/filters.py末尾添加:
def urlize(value):
from django.template.defaultfilters import urlize
value = urlize(value)
value = value.replace('<a href="', '<a target="_blank" href="')
return value
register.filter(urlize)

刷新缓存就OK了。

2、每次对站点做了结构的改变都不能立即显现出来,原因是坐着对很多站点参数都做了memcache缓存。二后台只有一个“删除指定的缓存项目”的功能,使用者必须知道缓存key才能使用,如同鸡肋。

起码应该添加一个更新全站缓存的功能,就从这里做了下扩展,修改方法:
修改/backstage.py文件的BackstageRemoveMemcacheHandler类,大概在1669行:
把原来的:
if mc is not None:
memcache.delete(mc)

改为:
if mc is not None:
if mc == 'all':
memcache.flush_all()
else:
memcache.delete(mc)

使用的时候只要在输入框里输入“all”,就会更新全站缓存了。

其他都是小修改,想不起来了,个人觉得这两点可能对大家有用。
6158 次点击
所在节点    Project Babel
12 条回复
mamimoluo
2010-12-21 10:04:43 +08:00
使用的时候,注意代码缩进
darkovic
2010-12-21 10:05:41 +08:00
链接在哪打开,不是技术问题,是品味问题。
moyan
2010-12-21 10:27:51 +08:00
@mamimoluo
全站刷新很好!!
lianghai
2010-12-21 13:33:03 +08:00
还可以在 GitHub 上做成以个分支~
不过,链接在哪打开,不是技术问题,是用户体验考量问题。
darkovic
2010-12-21 13:37:34 +08:00
@lianghai :D
mamimoluo
2010-12-21 14:15:52 +08:00
@lianghai
恩,明白了。
mamimoluo
2010-12-21 14:17:38 +08:00
今天中午打算用GAE重写一个类似的程序的,可是现在正在研究rails,还是基于V2EX改善吧,以后也不打算跟官方更新了。

使用中发现什么问题继续改善吧~
mamimoluo
2010-12-21 14:21:16 +08:00
@lianghai
不得不承认这个程序的前端体验做的很好,很多细节性问题处理的很漂亮,我当初也是被这个吸引了。
moyan
2010-12-22 15:01:30 +08:00
File "C:\Program Files\Google\google_appengine\cdhyez\v2ex\templatetags\filters.py", line 159
value = value.replace('<a href="', '<a target="_blank" href="')
^
请问这是什么问题?
我是这样写的
def urlize(value):
from django.template.defaultfilters import urlize
value = urlize(value)
value = value.replace('<a href="', '<a target="_blank" href="')
return value
register.filter(urlize)
moyan
2010-12-22 15:03:07 +08:00
收进代码就好了
Kymair
2010-12-22 15:07:08 +08:00
@moyan 可以用https://gist.github.com
Livid
2010-12-22 16:36:12 +08:00
请用 GitHub 的 fork 功能。

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

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

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

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

© 2021 V2EX