前端树形控件

前端树形控件

阅读更多

Python之函数Hook

py2.7测试通过

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# coding=utf-8
def hook_func(module, func, act, hook_arg, hook_result):
try:
if hook_arg or hook_result:
old_module = __import__(module)
old_function = getattr(old_module, func)
def wrapper(*args, **kwargs):
if hook_arg:
a = list(args)
k = [v for k, v in enumerate(kwargs)]
values = a.extend(k) if k else a
act(values)
result = old_function(*args, **kwargs)
if hook_result:
act(result)
return result
setattr(old_module, func, wrapper)
else:
pass
except Exception,e:
print e
def check_file_path(values):
if any('../' in path for path in values):
raise Exception('Insecure filepath found!')
def monkey_patch():
hook_func('__builtin__', 'open', check_file_path, hook_arg=True, hook_result=False)
if __name__ == '__main__':
monkey_patch()
open(input('enter your path >'),'w+')

阅读更多

Django后台使用富文本编辑器-kindeditor

Django 常用的富文本编辑器有ckeditor,ueditor,kindeditor,tinyme等.

阅读更多

python pickle

Django使用pickle序列化数据存储到数据库是非常方便的,pickle适用于python所有数据类型的序列化,为什么要使用pickle而不使用json.dumps()呢?因为它会自动转义!

models.py

1
2
3
4
class blobtest(models.Model):
data=models.BinaryField()
def __unicode__(self):
return self.data

阅读更多

python 动态加载模块及动态加载方法

tests.py:

1
2
def add(a,b):
print a+b

阅读更多

二分查找算法之python实现

二分查找也叫折半查找,通过不断比较目标元素与一个有序序列(注意是有序序列)中间元素的值,达到每次查找都能排除一半元素的一种算法。
python实现如下:

阅读更多

python数据类型与json的互相转换

python的json模块可以实现python数据类型和json的互相转换,主要语句如下:

1
2
json.dumps():接收python类型数据,返回str对象的encodedjson(从python数据转换为json)
json.loads():接收json字符串,返回python类型的数据(从json字符串转换为python数据)

阅读更多