1. 程式人生 > >django刪除表重建&修改使用者密碼&base64加密解密字串&ps aux引數說明&各種Error例子

django刪除表重建&修改使用者密碼&base64加密解密字串&ps aux引數說明&各種Error例子

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顯示速度.