python之django路由和視圖案例教程
django路由和視圖
要了解django是如何運(yùn)行的,首先要了解路由和視圖兩個(gè)概念,然后我們?cè)陧?xiàng)目中添加一些簡(jiǎn)單的路由和視圖
路由和視圖的概念
視圖:一個(gè)視圖函數(shù)(類),簡(jiǎn)稱視圖,是一個(gè)簡(jiǎn)單的Python一個(gè)視圖函數(shù)(類),簡(jiǎn)稱視圖,是一個(gè)簡(jiǎn)單的Python 函數(shù)(類),它接受Web請(qǐng)求并且返回Web響應(yīng)。
響應(yīng)可以是一張網(wǎng)頁的HTML內(nèi)容,一個(gè)重定向,一個(gè)404錯(cuò)誤,一個(gè)XML文檔,或者一張圖片。
無論視圖本身包含什么邏輯,都要返回響應(yīng)。
個(gè)人覺得django視圖的概念其實(shí)是spring中的Action和View參和在一起的概念。
路由:維護(hù)視圖視圖函數(shù)映射關(guān)系的結(jié)構(gòu),在Web框架中,稱之為路由維護(hù)視圖視圖函數(shù)映射關(guān)系的結(jié)構(gòu),在Web框架中,稱之為路由。
Django把這種映射關(guān)系配置在(urls.py)。它的本質(zhì)是URL與要為該URL調(diào)用的視圖函數(shù)之間的映射表。
可以對(duì)比spring中的ActionMapping,能夠很好理解路由的概念。
一個(gè)簡(jiǎn)單的例子
我們需要自己創(chuàng)建視圖集合,按慣例把視圖模塊放在views.py中,我們創(chuàng)建分別3個(gè)視圖:
index 首頁
order 顯示訂單列表
produt 顯示產(chǎn)品列表
from django.shortcuts import render from django.http import HttpResponse def index(request): html = "<html><body>It is index page</body></html>" return HttpResponse(html) def orderlist(request): html = "<html><body>It is order list</body></html>" return HttpResponse(html) def produtlist(request): html = "<html><body>It is produt list</body></html>" return HttpResponse(html)
路由信息配置在項(xiàng)目中urls.py,我們修改下添加自己的路由
from django.contrib import admin from django.urls import path from django.urls import re_path from .views import * “ 導(dǎo)入視圖模塊 urlpatterns = [ path('admin/', admin.site.urls), path('index/', index), “ index路由 path('order/', orderlist), “ orderlist路由 path('produt/', produtlist), “ produtlist路由 ]
我們看一下運(yùn)行結(jié)果
index路由
orderlist路由
正則路由
上面是常規(guī)路由配置,如果我們需要增加根據(jù)訂單號(hào)查詢某一個(gè)訂單的URL怎么辦,訂單號(hào)并不是固定的,
我們用到正則路由配置
views.py
def order(request, id): html = "<html><body>It is order detail id =" + id + " </body></html>" return HttpResponse(html)
urls.py
urlpatterns = [ re_path('order/([0-9]+)/', order ), “ ([0-9]+) 表示訂單號(hào)是數(shù)字 ]
我們看一下運(yùn)行結(jié)果
到此這篇關(guān)于python之django路由和視圖案例教程的文章就介紹到這了,更多相關(guān)python之django路由和視圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django基礎(chǔ)知識(shí)與基本應(yīng)用入門教程
這篇文章主要介紹了Django基礎(chǔ)知識(shí)與基本應(yīng)用,結(jié)合實(shí)例形式分析了Django框架基本的項(xiàng)目創(chuàng)建、啟動(dòng)、查看版本等操作,并結(jié)合一個(gè)簡(jiǎn)單的blog應(yīng)用示例分析了Django的基本使用方法,需要的朋友可以參考下2018-07-07Python自動(dòng)創(chuàng)建Excel并獲取內(nèi)容
這篇文章主要介紹了Python自動(dòng)創(chuàng)建Excel并獲取內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09使用pyecharts1.7進(jìn)行簡(jiǎn)單的可視化大全
這篇文章主要介紹了使用pyecharts1.7進(jìn)行簡(jiǎn)單的可視化大全,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05Django框架視圖層URL映射與反向解析實(shí)例分析
這篇文章主要介紹了Django框架視圖層URL映射與反向解析,結(jié)合實(shí)例形式分析了Django框架普通url映射、命名URL參數(shù)映射、分布式URL映射、反向解析等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07