母女平安,小闺女6.2斤,顺产

作者:半瓶墨水 链接:http://www.2maomao.com/blog/brave-mother-and-cute-baby/

趁换班爬上来写两句,
大花猫很勇敢,
当天上午唯一顺产的,
大夫开玩笑说要都像这样她们就省事儿了

小宝宝脸型大轮廓上很像我,
鼻子嘴巴耳朵这些像她妈妈,
整体上是个大美女,哈哈
真是好宝宝,
谁都不偏向:D

小宝贝儿就要出生了

作者:半瓶墨水 链接:http://www.2maomao.com/blog/ohmy-baby/

加了会儿班回来
亲爱的大花猫来电话
小宝贝儿估计就要出生了!

小乐乐的姥姥最近很开心
她实践了所有知道的土方法
依然确定不了小宝贝儿的性别

小家伙估计自己在里面着急了
我知道!
但是大家听不到啊
呵呵
于是小乐乐就自己忍不住要出来啦

乖宝贝儿
别着急
是男是女
是胖是瘦
都是我和你妈妈的最爱
亲一个
等爸爸去接你哦

javascript href=”#”页面滚动到顶端的问题

作者:半瓶墨水 链接:http://www.2maomao.com/blog/javascript-href-back-to-top-issue/

写网页免不了要写javascript,比如这样:点我啊,上顶端,可以试试向下滚屏(用滚轮或者方向键)以后再点击这个链接看看效果)

<a href="#" onclick="alert('点我干啥子?')">点我啊,上顶端</a>

这样的方式有个问题是:如果真的点了,整个浏览页面会滚动到顶端。有时候需要(比如Ajax)点击以后页面不滚动

解决方式很简单,return false就行了:点我啊,我不跑

<a href="#" onclick="alert('点我干啥子?');return false">点我啊,我不跑</a>

当你return false的时候,浏览器忽略href

贺!

作者:半瓶墨水 链接:http://www.2maomao.com/blog/cong-for-my-sister-and-new-borne/

老姐前天生下了一个六斤半的小宝宝。
据说眼睛长得很大很亮。

天佑我的亲人,我的爱。

my paginate function for DJango

作者:半瓶墨水 链接:http://www.2maomao.com/blog/my-paginate-for-django/

感觉DJango的分页浏览不是很好用,需要先查出来再搞分页。
由于很常用,所以我自己写了个函数mypaginate(注意我的分页格式很固定,用”&page=2″这种方式)

在view中这样调用

PAGE_SIZE = 10 #每页十个
params = "&keywords=%s&code_lang=%s" % (keywords, lang) #页面链接时候的额外参数
offset, page_navi, page_ex = mypaginate(request, total, PAGE_SIZE, params)

然后由render传给模板,模板中这么写

{% if page_ex.prev %}
<a href="{{page_ex.first}}">第一页</a>
<a href="{{page_ex.prev}}">上一页</a>
{% else %}
第一页 上一页
{% endif %}
{% for p, l in page_navi %}
<a id="p_{{p}}" href="/code/all/{{l}}">{{p}}</a>
{% endfor %}
{% if page_ex.max_page %}
...
<a href="{{page_ex.last}}">{{page_ex.max_page}}</a>
{% endif %}
{% if page_ex.next %}
<a href="{{page_ex.next}}">下一页</a>
<a href="{{page_ex.last}}">最后页</a>
{% else %}
下一页 最后页
{% endif %}

mypaginate函数源码

def mypaginate(request, total, pagesize, params=""):
    
#get page info
    
curr = int(request.GET.get('page', 1))
    
#calculate the offset
    
offset = (curr - 1) * pagesize
    
if offset >= total:
        
offset = total - 1
    
if offset < 0:
        
offset = 0
    
#paginatize
    
page_navi = []
    
page_ex = {}
    
max_page = (total - 1) / pagesize + 1
    
start = curr - curr % 10 + 1
    
end = start + 10
    
if end > max_page + 1:
        
end = max_page + 1 #remember it's [start, end)
    
else:
        
page_ex['max_page'] = max_page
 
    
for i in range(start, end):
        
link = ("?page=%d&" % i) + params
        
page_navi.append((i, link))
    
if curr > 1:
        
page_ex['first'] = ("?page=%d" % 1) + params
        
page_ex['prev'] = ("?page=%d" % (curr - 1)) + params
    
if curr < max_page:
        
page_ex['next'] = ("?page=%d" % (curr + 1)) + params
        
page_ex['last'] = ("?page=%d" % max_page) + params
 
    
return (offset, page_navi, page_ex)