发博文
个人资料
中午1点
中午1点
  • 博客等级:
  • 博客积分:308
  • 博客访问:13,715
  • 关注人气:3
许愿瓶
加载中…
评论
加载中…
留言
加载中…
图片播放器
访客
加载中…
好友
加载中…
博文
标签:

杂谈

相信大家都很熟悉这篇文章:《利用免费的GAE(Google App Engine)建立强大的Blog(micolog)网站》,
也相信大家对GAE的了解,
更相信有很多人看好GAE,即使它经常被墙。
原因是大家都相信google,不怀疑google的公关能力。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-10-27 17:20)
标签:

杂谈

Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用(象普通的方法那样)。
.1    __init__
类似于构造函数
#!/usr/local/bin/python
class Study:
        def __init__(self,name=None):
                self.name = name
        def say(self):
                print self.name
study = Study('Badboy')
study.say()

.2    __del__
类似于析构函数
#!/usr/local/bin/python
class Study:
        def __init__(self,name=None):
                self.name = name
        def __del__(self):
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

当访问http://abc.test.com跳转到http://www.test.com/test/abc/
方法一:
这种方法浏览器地址会变www.test.com/test/abc 
实现访问如下:
server { 
      listen 80; 
      server_name www.test.com; 
      location / { 
          root /data/test; 
          index index.html; 
                    }
          }

server { 
      listen 80; 
      server_name *.test.com; 
      if ( $http_host ~* '^(.*)\.test\.com$') { 
           set $domain $1; 
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-10-27 09:54)
标签:

杂谈

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。
random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0
random.uniform

  random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

print random.uniform(10, 20)   
print random.uniform(20, 10)   
#---- 结果(不同机器上的结果不一样)   
#18.7356606526   
#12.5798298022 
random.randint

  random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

print random.randint(12, 20) #生成的随机
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-10-26 11:55)
标签:

杂谈

动态网站的基本功能就在于, 没错, 它是动态的. 用户每次请求一个页面时, Web 服务器都要进行全面的计算 -- 从数据库查询到渲染业务逻辑 -- 直到生成最终展示的页面. 从服务器负载的角度来看,这远比仅仅从文件系统读取一个文件展示要占用的系统资源多得多.

对绝大多数网站应用程序来说, 这点负载不是大问题.绝大部分网站应用不是 washingtonpost.com 或 slashdot.org 这样繁忙; 它们通常是小规模-中等规模的,没有特别高的点击率. 但对大规模高点击率的站点来说, 就应该尽可能的降低WEB服务器的负载.

这正是需要缓存机制的原因.

建立缓存机制的目的就是在适当的时候省略掉计算步骤(再次访问时).下面用伪码来阐述该机制如何运作:

根据 URL 请求, 看看缓存中有没有该页面
如果缓存中有该页面:
    返回该页面
否则:
    生成该页面
    将该页面保存在缓存中(以备下次访问)
    返回这具生成的页面
Djan
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-10-22 14:56)
标签:

杂谈

abs(number)   返回一个整数或浮点数的绝对值
例子:abs(-5)  返回5
apply(function,tuple)
apply(function,tuple,dictionary)
在运行时允许分配一个参数序列
break
中断while循环的执行并使循环的执行退出。如果当前循环在另一个循环中,break会把执行行发送到最近的上一级循环
callable(object)
检查对象是否可以调用。可调用,函数返回真;不可调用,返回假。可调用函数包括函数、类、方法、和内置函数
chr(x)
返回单个字符串,是数字x的ASCIIa等价物
例如: chr(100)  返回 'd'
cmp(x,y)
比较这两个对象x和y,并返回反映等值的整数。cmp()用于比较数字或字符串。如果x<y返回负数,如果x=y返回零,如果x>y返回整数。如果比较对象是字符串,python用标准的字母表顺序比较它们
例如:cmp(2,3)  返回 -1  cmp('Graham','Cleese')  返回4
coerce(x,y)
返回一个由两个被转换为普通类型的数值参数组成的元组。
例如:coerce(12,12L)
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

Python代码
class Blog(models.Model):   
     name = models.CharField(max_length=100)   
     tagline = models.TextField()   
  
    def __unicode__(self):   
        return self.name   
  
class Author(models.Model):   
     name = models.CharField(max_length=50)   
     email = models.EmailField()   
  
    def __unicode__(self):   
        return self.name   
  
class Entry(models.Model):   
     blog = models.ForeignKey(Blog)   
     headline = models.CharField(max_lengt
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

杂谈

本来估计能找到类似Mete中verbose_name_plural属性去更改app显示名称的,可以只找到一个app_label。但是由于django源码中是这样写的:
    app_dict[app_label] = {
           'name': app_label.title(),
           'app_url': app_label,
           'has_module_perms': has_module_perms,
           'models': [model_dict],
 &nb
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-09-08 12:28)
标签:

杂谈

1. _()已经成了遗留系统,1.0中已经改进了,需要

       from django.utils.translation import ugettext as _

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2009-09-08 12:01)
标签:

杂谈

最近再用 Django 做东西,顺便写点笔记做下记录。

今天折腾这个 Django 的 i18n 支持着实费了点功夫,主要是一开始没理解 Python 做 i18n 的原理导致。废话不多说了,使用 Django 的 i18n 支持还是相当的方便的。Django 的官方文档上讲的很详细了,但是篇幅过长,我也是硬着头皮看了几遍才搞明白,下面我就简单介绍一下最快捷的方法。

首 先,从配置入手,settings.py 里面有一个 LANGUAGE_CODE属性,这里设置了网站默认的语言。由于settings.py里面的属性支持重写,所以从官方文档上可以得知,默认情况下已经 启用i18n支持了,我们需要加入一些middleware来支持动态切换语言。

MIDDLEWARE_CLASSES = (
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
)
注意顺序,LocaleMiddleware必须在SessionMiddleware下面,因为需要从Session里面获取一个语言类型,这些Django都有现成的了,很方
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有