真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django中的視圖層

1.什么是視圖層

簡(jiǎn)單來說,就是用來接收路由層傳來的請(qǐng)求,從而做出相應(yīng)的響應(yīng)返回給瀏覽器

超過十載行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,微信小程序定制開發(fā),微信開發(fā),APP應(yīng)用開發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!

2.視圖層的格式與參數(shù)說明

2.1基本格式

from django.http import HttpResponse
def page_2003(request):
    html = '

第一個(gè)網(wǎng)頁

' return HttpResponse(html) # 注意需要在主路由文件中引入新創(chuàng)建的視圖函數(shù)

2.2帶有轉(zhuǎn)換器參數(shù)的視圖函數(shù)

def test(request, num):
    html = '這是我的第%s個(gè)網(wǎng)頁' % num
return HttpResponse(html)
# 添加轉(zhuǎn)換器的視圖函數(shù),request后面的參數(shù)num為path轉(zhuǎn)換器中的自定義名

2.3帶有正則表達(dá)式參數(shù)的視圖函數(shù)

同帶有轉(zhuǎn)換器參數(shù)的視圖函數(shù)

2.4重定向的視圖函數(shù)

from django.http import HttpResponse,HttpResponseRedirect
def test_request(request):--注意path函數(shù)里也要綁定test_request這個(gè)路徑
return HttpResponseRedirect('page/2003/')--重定向到127.0.0.1:8000/page/2003這個(gè)頁面去

2.5判斷請(qǐng)求方法的視圖函數(shù)

def test_get_post(request):
if request.method == 'GET':
    pass   
elif request.method == 'POST':
    pass

2.6加載模板層的視圖函數(shù)

使用render()直接加載并相應(yīng)模板語法:
?from django.shortcuts import render
?def test_html(request):   
? return render(request, '模板文件名', 字典數(shù)據(jù))
注意視圖層的所有變量可以用local()方法全部自動(dòng)整合成字典傳到render的最后一個(gè)參數(shù)里

2.7返回JsonResponse對(duì)象的視圖函數(shù)

json格式的數(shù)據(jù)的作用:

前后端數(shù)據(jù)交互需要用到j(luò)son作為過渡,實(shí)現(xiàn)跨語言傳輸數(shù)據(jù)。

格式:

from django.http import JsonResponse
def ab_json(request):
    user_dict={'username':'json,我好喜歡','password':'1243'}
return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})
# 字典傳入時(shí)需要設(shè)置json_dumps_params格式化字符串,不然字典里的中文會(huì)報(bào)錯(cuò)
    list = [111,22,33,44]
return JsonResponse(list,safe=False)
# 列表傳入序列化時(shí)需要設(shè)置safe為false ,不然會(huì)報(bào)錯(cuò)

2.8視圖層的FBV和CBV格式

視圖函數(shù)既可以是函數(shù)(FBV)也可以是類(CBV)

1.FBV
def index(request):
return HttpResponse('index')

2.CBV
# CBV路由
    pathr'^login/',views.MyLogin.as_view())
# CBV視圖函數(shù)
from django.views import View
class MyLogin(View):
def get(self,request):
return render(request,'form.html')
def post(self,request):
return HttpResponse('post方法')
"""
FBV和CBV各有千秋
CBV特點(diǎn)
  能夠直接根據(jù)請(qǐng)求方式的不同直接匹配到對(duì)應(yīng)的方法執(zhí)行

當(dāng)前名稱:django中的視圖層
文章網(wǎng)址:http://weahome.cn/article/dsogech.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部