1.django的queryset不支持负索引
AssertionError: Negative indexing is not supported.
2.django向前端JavaScript传递列表:
return render(request, 'home.html', {"mem_data": json.dumps(mem_data)) chartData_mem = {{ mem_data | safe }}; 或者 chartData_mem = JSON.parse('{{ mem_data|safe }}'); 在这里声明变量,变量前不能加var JSON.stringfy()将对象、数组转换成字符串; JSON.parse()将字符串转成json对象.
3.django删除表重建
先到数据库把表删掉:drop table; 注释django中对应的Model; 执行以下命令:python manage.py makemigrations python manage.py migrate --fake 去掉注释重新迁移 python manage.py makemigrations; python manage.py migrate
4.用base64加密解密字符串
vrvlink root1234 username1 = base64.encodebytes(b'vrvlink') password1 = base64.encodebytes(b'root1234') username1 b'dnJ2bGluaw==\n' password1 b'cm9vdDEyMzQ=\n' 解密 username = base64.decodebytes(username1.encode()).decode() password = base64.decodebytes(password.encode()).decode()
5.django修改用户密码
python manage.py shell from django.contrib.auth.models import User user=User.objects.get(username='XXX') user.set_password('new_password') user.save() 或者 python manage.py changepassword username
6.ps aux参数说明(以BSD的格式来显示进程)
# ps aux | grep "mail\b" root 30326 0.0 0.0 277384 9656 ? Sl Sep18 18:56 ./mail root 31471 0.0 0.0 103332 864 pts/0 S+ 14:23 0:00 grep mail\b 显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND USER:进程所有者 PID:用户进程号 %CPU:进程占用的CPU百分比 %MEM:占用内存的百分比 VSZ:该进程使用的虚拟內存量(KB) RSS:该进程占用的固定內存量(KB) STAT:进程的状态 START:该进程被触发启动时间 TIME:该进程实际使用CPU运行的时间 COMMAND:进程启动的命令
7.IndexError:list index out of range的错误原因
第1种可能情况 list[index]index超出范围 第2种可能情况 list是一个空的,没有元素,进行list[0]就会出现该错误 我在统计一个程序tomcat的运行时间-run_time时,对一个空列表用了[0],以后当然要避免
8.在取数据的时候要排序(例如第11行),否则可能有如下警告:
UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list:
9.CommandError: "http://172.16.8.128:10002"
is not a valid port number or address:port pair.
报这样的错是因为我启动时用的命令错了: python3 manage.py runserver http://172.16.8.128:10002 不应该加http://,正确命令: python3 manage.py runserver 172.16.8.128:10002
10.json.dump()文件更加美观
json.dump(data,f,ensure_ascii=False,sort_keys=True,indent=4)
11.ValueError、TypeError
ValueError: invalid literal for int() with base 10: '10%' 可以int字符串"10",但不能int"10%"、"1.0"这样的字符串. TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 意思是:你用int可以去整型字符串或数字,但不能为空.
12.RuntimeError
RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set 视图函数给一个函数加上了@require_POST,然后给这个函数发送数据时, url写成了下面这样的格式,然后就报如上错 http://192.168.165.10:8000/show/company_data 正确的写法是:在url后面加上"/"
13.终端显示警告:
[05/Sep/2017 12:24:59] "GET /hello HTTP/1.1" 404 1947
Not Found: /favicon.ico
找一个图片格式为ico,命名成:favicon.ico,拷贝到django下的 ./contrib/admin/static/admin/img/ 终端错误消失问题解决.
14.bit、Byte
bit:电脑记忆体中最小的单位 Byte:字节单位,一般表示存储介质大小的单位,一个B(常用大写的B来表示Byte) 可代表一个字母(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),但中文字需要2个Byte. 1 Byte = 8 bits 1 KB = 1024 Bytes bps:“bits per second”常用于表示数据机及网络通讯的传输速率 Bps:“Byte per second”电脑一般都以Bps显示速度.