[database]Windows 下安装使用 MongoDB(hello world)

安装

http://www.mongodb.org/downloads 下载 mongodb 压缩包, 解压到某个目录下,假设最后的目录路径为:c:\mongodb\,将 ;c:\mongodb\bin 追加到环境变量 path 中。

新建一个目录用来存放数据库文件,比如该目录为:c:\mongodb\data 。

使用

启动服务器

命令行下执行:

mongod --dbpath c:\mongodb\data

hello world

命令行下执行:

mongo

进入数据库终端(默认是连接到 test 数据库):

> var x = "hello world"
> x
hello world
>

参考 ...

more ...

[django]复制/克隆一条查询结果

复制/克隆一条查询结果,并将它插入到数据库中:

将 pk 值设为 None 即可:

blog = Blog(name='My blog', tagline='Blogging is easy')
blog.save() # post.pk == 1

blog.pk = None
blog.save() # post.pk == 2

如果该 model 继承于另一个 model 的话,必须将 pkid 的值都设为 None:

class ThemeBlog(Blog):
    theme = models.CharField(max_length=200)

django_blog ...
more ...

[django]编写作用于视图(view)的装饰器(Decorator)

本文假设读者已经知道如何编写基本的装饰器代码,否则请自行 google:“python 装饰器”and/or “python decorator”。

不带参数的装饰器

from functools import wraps


def object_does_not_exist(func):
    @wraps(func)
    def returned_wrapper(request, *args, **kwargs):
        try:
            return func(request, *args, **kwargs)
        except ObjectDoesNotExist:
            raise Http404()
    return returned_wrapper

用法:

@object_does_not_exist
def detail(request):
    pass

带参数的装饰器

  • 第一种写法:

    def object_does_not_exist(redirect=None):
        def decorator ...
more ...