[django]更改 request.GET 字典的键值时出现 "AttributeError: This QueryDict instance is immutable" 错误

当修改 request.GET/request.POST 时,会出现: "AttributeError: This QueryDict instance is immutable":

def foobar(request):
    #...
    request.GET['foo'] = bar  # AttributeError: This QueryDict instance is immutable
    #...

因为默认的 QueryDict 是不可修改的。解决办法就是复制一份副本,对副本进行修改:

def foobar(request):
    #...
    request.GET = request.GET.copy()  # 添加这一句
    request.GET['foo'] = bar
    #...

参考

more ...

给终端文字加点颜色和特效

这个叫做:ANSI Escape Sequences/Code 。

文字特效相关的字符格式是:ESC[#;#;....;#m ,其中 # 的取值见下表:

# 的值 功能 python 代码 截图
00 或 0 正常显示 '\033[00m' + 'hello' + '\033[0;39m'
01 或 1 粗体 '\033[01m' + 'hello' + '\033[0;39m'
02 或 2 模糊 '\033[02m' + 'hello' + '\033[0;39m'
03 或 3 斜体 '\033 ...
more ...