1. 程式人生 > >Python3.5 學習二十

Python3.5 學習二十

靈活 turn img 表單 神奇 序列 都是 靜態頁面 models

學會用三種方法檢索數據

1、對象方式

2、字典方式

3、元組方式

models後面,如果是.values()  則為字典方式

      如果是value_list()  則為元組方式

跨表操作時,如果是對象,可以用.進行跨表查詢字段

      如果用指定列名的字符串方式,則需要用神奇的"__"雙下劃線來引入跨表字段

詳見20180910項目示例

初始Ajax,可以取代form表單提交,主要應用於驗證數據

$(‘#ajax_submit‘).click(function () {
$.ajax({
url:"/test_ajax/",
type:‘POST‘,
data:{‘hostname‘:$(‘#hostname‘).val(),‘ip‘:$(‘#ip‘).val(), ‘port‘:$(‘#port‘).val(), ‘b_id‘:$(‘#b_id‘).val()},
success:function (data) {
if (data == "OK") {
location.reload();
}
else
{
alert(data);
}

},
})

})



JQuery內部有很多方法,諸如$.get\$.post\$.getJson等,其內部都是調用的$.ajax方法
本質上是一樣的,發請求操作的,推薦使用$.ajax,

補充知識:JSON的序列化和反序列化
前端字符串轉對象:JSON.parse()
前端對象轉字符串:JSON.stringify()

 

建議使用HTTPresponse+JSON.dumps()返回一個標註格式的字典,便於前端解析JSON格式後進行後續處理

如果用return render,返回一個html,前端無法json解析,沒有什麽意義

另,ajax無法return一個redirect重定向,請註意!

練習使用ajax進行靜態頁面的增刪改查

數據庫的多對多操作:

創建多對多關系一:自定義關系表

技術分享圖片

方式二:自動創建關系表

技術分享圖片

用途中:自動創建的方便,但是只能是兩個表的關系,加上自身ID,一共有且只有3列,不是很靈活

    自定義的使用靈活

自定義的方式,調用數據表可以用類方式

而自動生成的,需要調用對象的列進行操作,相當於只是對第三張表進行操作了

技術分享圖片

obj.r.all()  -->  可以獲取到相關的host對象的QuestSet”列表“”

補充知識點:ajax操作返回的數據類型的區別:

技術分享圖片

“**************如果增加一個dataType:‘JSON’,則直接將字符串data轉換為obj對象回給用戶*********

技術分享圖片

註意ajax語法和功能點:

技術分享圖片

技術分享圖片

Python3.5 學習二十