Django框架視圖函數(shù)設(shè)計(jì)示例
本文實(shí)例講述了Django框架視圖函數(shù)。分享給大家供大家參考,具體如下:
視圖函數(shù)即為處理HTTP請求的python函數(shù)。一般情況下,視圖函數(shù)的功能是通過模型層對象處理數(shù)據(jù),然后通過下面三種方式返回HTTP Response:
- 直接構(gòu)造HTTP BODY
- 用數(shù)據(jù)渲染HTML模板文件
- 如果有邏輯錯(cuò)誤就返回HTTP錯(cuò)誤或者其他狀態(tài)!
1.直接構(gòu)造HTML頁面
對于簡單的頁面,可以直接在視圖函數(shù)匯總構(gòu)造返回給客戶端的字符串,通過HttpResponse函數(shù)封裝后返回:
#views.py from django.http import HttpResponse import datetime def test(request): now = datetime.datetime.now().strftime("%y-%m-%d %h:%m:%s") return HttpResponse(now)
2.渲染HTML文件
模板文件渲染通過render函數(shù)實(shí)現(xiàn):
from django.shortcuts import render from app.models import Moment def test(request, moment_id): m = Moment.objects.get(id=moment_id) return render(request, '/templates/moment.html', {'headlin':m.headline, 'user':m.user_name}) render函數(shù)的第一個(gè)參數(shù)是HTTP request, 第二個(gè)為html路徑, 第三個(gè)模板參數(shù)
3.返回http error
HTTP錯(cuò)誤通過HTTP頭部status表達(dá),通過HttpResponse構(gòu)造參數(shù)status,返回http錯(cuò)誤或者狀態(tài):
from django.http import HttpResponse def my_error(request): return HttpResponse(status=404)
解析:
可返回404狀態(tài)碼
對于常用status狀態(tài)定義多個(gè)HttpResponse的子類,可以通過這些子類直接定義response
from django.http import HttpResponseNotFount def my_err(request): return HttpResponseNotFount()
跟上面的代碼效果相同!
希望本文所述對大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python發(fā)送網(wǎng)絡(luò)請求(requests)
這篇文章主要介紹了Python發(fā)送網(wǎng)絡(luò)請求(requests),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Python入門_淺談for循環(huán)、while循環(huán)
下面小編就為大家?guī)硪黄狿ython入門_淺談for循環(huán)、while循環(huán)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05Python模糊查詢本地文件夾去除文件后綴的實(shí)例(7行代碼)
下面小編就為大家?guī)硪黄狿ython模糊查詢本地文件夾去除文件后綴的實(shí)例(7行代碼) 。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Win10+python3.6+git運(yùn)行出現(xiàn)問題的解決
這篇文章主要介紹了Win10+python3.6+git運(yùn)行出現(xiàn)問題的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python實(shí)現(xiàn)解析命令行參數(shù)的常見方法總結(jié)
除ide的執(zhí)行方式外,命令行的方式執(zhí)行Python腳本是參數(shù)化程序執(zhí)行的一種常見且簡單的方法。本文總結(jié)了三個(gè)常見的獲取和解析命令行參數(shù)的方法,需要的可以參考一下2022-10-10