日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Django前端后端值傳遞問題

瀏覽:35日期:2024-09-25 11:05:53

前端后端傳值問題總結

前端傳給后端

通過表單傳值

1、通過表單get請求傳值

在前端當通過get的方式傳值時,表單中的標簽的name值將會被當做action的地址的參數

此時,在后端可以通過get請求相應的name值拿到對應的value值

例子:

html中:

<form action='{% url ’backweb:select_art’ %}' method='post'> {% csrf_token %} <section class='mtb'> <select class='select'> <option value='類別' name='class'>類別</option> {% for art in art_list %} <option value='{{ art }}'>{{ art }}</option> {% endfor %} </select> <input name='art_name' type='text' placeholder='輸入要查詢的文章標題'/> <input type='submit' value='查詢' /> </section> </form>

視圖中:

def select_art(request,id): if request.method == ’GET’: que = request.GET.get(’que’) request.session[’que’] = que

拿到的值可以存入session中,在前端可以通過{{ request.session[que] }}拿到對應的值

<a href='http://m.b3g6.com/bcjs/{% url ’backweb:select_art’ %}?page={{ page.paginator.num_pages }}&que={{ request.session.que }}' rel='external nofollow' >最后一頁</a>

2、表單通過post請求傳值

當前端通過post傳值時,在視圖中可以通過POST請求拿到對應的表單中的name屬性對應的value值

通過ajax傳值

POST -----------------------------------

通過ajax的post請求可以將html頁面的值傳到對應的視圖函數中,在后端可以通過request.POST.get(鍵)獲得前端通過ajax的data中的值,request.POST獲取ajax傳遞的所有數據

注意:如果前端的dataType是json格式,后端的返回數據應該也是json格式,否則會請求不成功(但是可以接收前端ajax傳輸過來的值)。

將后端數據變為jsoon格式如下:

resp = ’請求成功re’

return HttpResponse(json.dumps(resp))

或者

return JsonResponse(data)

例子~有些地方寫多余了:

html頁面:

<script type='text/javascript'> $(function(){ $(’#t1 a,#tz a’).on(’click’,function(){ id = $(this).attr(’class’) ta = $(this).text() t = $(this) <!--alert(id)--> <!--alert($(this).text())--> $.ajax({ url:’/backweb/index/’, dataType:’json’, type:’POST’, data:{ ta: ta, id:id }, success:function(data){ <!--alert(data)--> if (ta == ’推薦’){ t.text(’不推薦’) }else if (ta == ’不推薦’){ t.text(’推薦’) }else if(ta == ’展示’){ t.text(’不展示’) }else if (ta == ’不展示’){ t.text(’展示’) } }, error:function(){ alert(’請求失敗’) } }) }) })</script>

注意:

jqery中

如果事件綁定了多個標簽,想要知道點擊的標簽可以使用$(this)獲得。

通過標簽對象.text()可以獲得標簽中的值。

通過標簽對象.val()可以獲得標簽的value值(例如在表單中的值)

通過標簽對象.attr(標簽屬性名)可以獲得標簽屬性對應的值

以上的方法都可以給參,如果有參就代表修改屬性值。

可以在標簽中定義一個屬性動態生成值

<span id='num_{{ good.id }}'></span>

此時可以在綁定的時間函數中傳入一個同樣的參數,就可以在js中獲取當前的被點擊的標簽

<button onclick='addToCart({{ good.id }});'>+</button> function addToCart(good_id){ $(’#num_’+ good_id).html(data.data.c_num) }

ajax中不能通過$(this)獲得當前觸發的標簽,但是可以在ajax之外將對象獲取,在ajax中的函數中使用。

GET-----------------------------

語法:$(selector).get(url,data,success(response,status,xhr),dataType)

這是一個簡寫的GET請求功能

參數:

url:必選規定將請求發送到哪個URL

data:可選。規定聯通請求發送到服務器的數據

success(response,status,xhr):可選。當請求成功時執行的函數。

額外參數:

response - 包含后臺傳送回來的數據

status - 包含請求的狀態

xhr - 包含XMLHttpRequest對象

dataType:可選。規定預計的服務器相應的數據類型。默認的,jQuery將只能判斷。

可能的類型:

xml html text script json jsonp

等價于

$.ajax({ url: url, data: data, success: success, dataType: dataType});

實例:

1、請求test.php網頁,傳送兩個參數

$.get('test.php', { name: 'John', time: '2pm' } );

2、顯示 test.php 返回值(HTML 或 XML,取決于返回值):

$.get('test.php', function(data){ alert('Data Loaded: ' + data);});

3、顯示 test.cgi 返回值(HTML 或 XML,取決于返回值),添加一組請求參數:

$.get('test.cgi', { name: 'John', time: '2pm' }, function(data){ alert('Data Loaded: ' + data); });

后端傳給前端

當我們需要給前臺中傳遞數據時,可以使用以下的方法:

1、傳遞數據和html渲染,不進行復雜的數據處理

使用render()將數據傳給對應的html頁面,字典的值可以是數字、字符串、列表、字典、object、Queryset等

return render(request, ’backweb/article_detail.html’,{’types’: typess})

在html中使用{{ 鍵 }}來獲取數據 --- {{ types }}

可以可迭代的數據進行迭代

{% for type in types %}

<p>type<p>

{% endfor %}

也可以進行{% if %} {% else %}操作,注意格式:必須有結尾{% endif %}

2、傳遞數據給js使用 --- 例如ajax請求

此時views視圖中的函數中的值要用json.dumps()處理成json格式

import jsonfrom django.shortcuts import render def main_page(request): list = [’view’, ’Json’, ’JS’] return render(request, ’index.html’, { ’List’: json.dumps(list), })

在前js中使用時需要加safe過濾器 --- var List = {{ List|safe }};

ajax異步刷新例子:

js中:

function getSceneId(scece_name, td) { var post_data = { 'name': scece_name, }; $.ajax({ url: {% url ’scene_update_url’ %}, type: 'POST', data: post_data, success: function (data) { data = JSON.parse(data); if (data['status'] == 1) { setSceneTd(data['result'], scece_name, td); } else { alert(data['result']); } } });} success:function(data,status,xhr){} --- data:請求成功時調用的函數 status:描述狀態的字符串 xhr:jqXHR

模板中:

def scene_update_view(request): if request.method == 'POST': name = request.POST.get(’name’) status = 0 result = 'Error!' return HttpResponse(json.dumps({ 'status': status, 'result': result }))

JS 發送ajax請求,后臺處理請求并返回status, result --- ajax的數據類型為定義為json,所以返回的數據也得是json,不然請求失敗(請求失敗不代表數據傳不到后臺,只是后臺的數據會返回失敗)

在 success: 后面定義回調函數處理返回的數據,需要使用 JSON.parse(data)

以上這篇淺談Django前端后端值傳遞問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品黄色| 精品99久久| 日韩午夜视频在线| 综合激情视频| 国产精品一线天粉嫩av| 国产精品一区二区三区av麻| 石原莉奈一区二区三区在线观看| 久久亚洲欧洲| 亚洲精品高潮| 日韩中文一区二区| 日韩高清一级| 久久免费国产| 麻豆91精品91久久久的内涵| 精品久久91| av免费不卡国产观看| 91精品国产自产观看在线| 午夜久久福利| 亚洲开心激情| 麻豆91在线播放| 亚洲风情在线资源| 午夜一级在线看亚洲| 亚洲精品裸体| 欧美日韩国产观看视频| 视频一区二区三区在线| 免费亚洲婷婷| 国产亚洲永久域名| 国产盗摄——sm在线视频| 久久国产麻豆精品| 日韩成人一级| 尤物在线精品| 综合日韩av| 欧美日韩一区自拍| 日本在线精品| 精品视频高潮| 91欧美极品| 日韩一区二区免费看| 亚洲一区观看| 国产高清日韩| 午夜在线视频一区二区区别| 欧美精品91| 日韩欧美激情| 亚洲精品第一| 亚洲一区免费| 亚洲欧美高清| 老牛国产精品一区的观看方式| 国产麻豆久久| 欧美色图国产精品| 日韩在线短视频| 久久蜜桃精品| 成人污污视频| 亚洲小说春色综合另类电影| 在线观看精品| 高清不卡一区| 在线日韩欧美| 日本黄色精品| 久久精品国产68国产精品亚洲| 久久国产生活片100| 免费人成在线不卡| 黄色国产精品| 亚洲天堂成人| 三级小说欧洲区亚洲区| 精品少妇一区| 在线精品亚洲| 免费黄色成人| 免费精品国产的网站免费观看| 日本蜜桃在线观看视频| 视频在线不卡免费观看| 精品伊人久久久| www.51av欧美视频| 99久久www免费| 在线成人直播| 一区二区三区国产在线| 国产精品美女久久久| 欧美在线看片| 午夜av不卡| 视频一区在线播放| 香蕉久久久久久久av网站| 欧美日韩尤物久久| 久久成人福利| 国产欧美一区二区三区精品酒店| 色爱综合av| 日韩精品亚洲一区二区三区免费| 欧美在线91| 老鸭窝一区二区久久精品| 久久久久国产| 亚洲午夜久久| 动漫av一区| 午夜一级久久| 国内精品亚洲| 亚洲成人精选| 国产精品一区二区精品视频观看| 日韩精品永久网址| 久久久久久色 | 亚洲视频www| 日韩区欧美区| 日韩精品看片| 日本欧美大码aⅴ在线播放| 精品黄色一级片| 美女精品在线观看| 日韩av不卡一区二区| 国产一区日韩欧美| 国产一区二区三区日韩精品| 免费人成在线不卡| 红杏一区二区三区| 亚洲一区二区小说| 久久人人97超碰国产公开结果| 蜜臀a∨国产成人精品| 桃色一区二区| 精品视频高潮| 国产精品蜜月aⅴ在线| 丝袜美腿成人在线| 日韩在线观看不卡| 成人在线免费观看网站| 97成人在线| 首页国产欧美日韩丝袜| 伊人久久高清| 免费观看亚洲天堂| 91福利精品在线观看| 亚洲高清av| 久久久夜精品| 成人看片网站| 日韩久久视频| 中文字幕在线看片| 中国字幕a在线看韩国电影| 麻豆精品av| 九九九精品视频| 麻豆一区在线| 国产精品久久久久久久久久齐齐| 丝袜亚洲另类欧美| 日韩在线一二三区| 综合亚洲自拍| 奇米狠狠一区二区三区| 国产精品一区二区美女视频免费看 | 首页国产精品| 欧美一级鲁丝片| 桃色一区二区| 99在线精品视频在线观看| 国产精品日韩欧美一区| 国产精品色网| 亚洲一级大片| 国产精品欧美日韩一区| 久久99精品久久久野外观看| 久久国产精品色av免费看| 国产精品日本一区二区三区在线| 久久国内精品自在自线400部| 国产精品视频一区二区三区四蜜臂| 久久精品99国产国产精| 国产一区日韩| 欧美日韩国产一区精品一区| 久久国产99| 国产精品白丝久久av网站| 精品在线网站观看| 久久高清免费观看| 欧美aⅴ一区二区三区视频| 国产aa精品| 五月天久久777| 色8久久久久| 亚洲色图综合| 成人一区不卡| 亚洲精品一二| 天堂av在线| 日韩国产一区二| 久久视频一区| 欧美激情精品| 首页亚洲欧美制服丝腿| 日韩久久电影| 欧美综合精品| 免费精品视频| 精精国产xxxx视频在线播放| 日韩精品亚洲专区在线观看| 国产传媒av在线| 国产毛片精品| 激情欧美一区二区三区| 亚洲欧洲av| 精品一区欧美| 精品国产欧美日韩一区二区三区| 老牛国产精品一区的观看方式| 精品无人区麻豆乱码久久久| 日本亚洲最大的色成网站www| 伊人久久大香线蕉av不卡| 成人在线黄色| 麻豆视频一区| 国产精品黄网站| 日韩av一级片| 日韩高清在线不卡| 久久亚洲风情| 亚洲激情婷婷| 91亚洲一区| 国产一区二区三区四区五区传媒| 久久国际精品| 国产精品xxxav免费视频| 日韩av一区二区三区四区| 亚洲免费毛片| 天堂va在线高清一区| 一区二区三区四区精品视频| 99热精品在线| 亚洲无线观看| 欧美日韩一区自拍| 欧美日韩1区| 激情综合婷婷|