對(duì)DJango視圖(views)和模版(templates)的使用詳解
視圖
在django中,視圖對(duì)WEB請(qǐng)求進(jìn)行回應(yīng)
視圖接收reqeust對(duì)象作為第一個(gè)參數(shù),包含了請(qǐng)求的信息
視圖就是一個(gè)Python函數(shù),被定義在views.py中
定義完成視圖后,需要配置urlconf,否則無(wú)法處理請(qǐng)求
在Django中,定義URLconf包括正則表達(dá)式、視圖兩部分
Django使用正則表達(dá)式匹配請(qǐng)求的URL,一旦匹配成功,則調(diào)用應(yīng)用的視圖
注意:只匹配路徑部分,即除去域名、參數(shù)后的字符串
在test1/urls.py插入booktest,使主urlconf連接到booktest.urls模塊
視圖代碼
# views.py # 一個(gè)簡(jiǎn)單的視圖,固定返回 hrllo world def index(request): return HttpResponse('hello world')
模板
模板是html頁(yè)面,可以根據(jù)視圖中傳遞的數(shù)據(jù)填充值
模板和應(yīng)用booktest是同級(jí)目錄
模板的結(jié)構(gòu)templates/應(yīng)用名(booktest)/*.html
將模板的地址信息拼接在settings.py文件中的TEMPLATES的DIRS值中:'DIRS': [os.path.join(BASE_DIR, ‘templates')],
urls代碼
方式一: 直接修改原始的urls
# fanlie/fanlei/urls.py from django.conf.urls import include, url from django.contrib import admin from booktest import views urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 如果匹配的是空就就調(diào)用views.index返回首頁(yè) url(r'^$',views.index), ]
方式二: 在應(yīng)用目錄下修改
# fanlie/fanlei/urls.py urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 什么都不干直接去booktest.urls去找相應(yīng)的匹配 url(r'^',include('booktest.urls')), ] # fanlei/booktest/urls.py from django.conf.urls import url from . import views urlpatterns = [ # js結(jié)尾就是調(diào)用視圖中的函數(shù) js url(r'.*.js',views.js), # 直接訪問(wèn)代表是首頁(yè),調(diào)用視圖中的函數(shù)index url(r'^$', views.index), # 如果是image開(kāi)頭的代表是圖片,直接讓DJango去打開(kāi)對(duì)應(yīng)的圖片返回 url(r'^images/(?P<path>.*)', 'django.views.static.serve', {'document_root':'/home/python/Desktop/fanlei/templates/booktest/images'}), ]
上面模板用到的視圖
from django.shortcuts import render def index(request): # 返回引號(hào)中的文件的內(nèi)容 return render(request, 'booktest/index.html') def js(request): # 返回引號(hào)中的文件的內(nèi)容 return render(request,'booktest/jquery-1.12.4.js')
以上這篇對(duì)DJango視圖(views)和模版(templates)的使用詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式
這篇文章主要介紹了基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python使用Peewee創(chuàng)建數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例
Peewee是一個(gè)簡(jiǎn)單小巧的Python ORM,本文主要介紹了Python使用Peewee創(chuàng)建數(shù)據(jù)庫(kù)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08Django實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中獲取到的數(shù)據(jù)轉(zhuǎn)換為dict
這篇文章主要介紹了Django實(shí)現(xiàn)從數(shù)據(jù)庫(kù)中獲取到的數(shù)據(jù)轉(zhuǎn)換為dict,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03python使用open函數(shù)對(duì)文件進(jìn)行處理詳解
今天看了open函數(shù),看到w+ r+ a+ 這種可讀可寫(xiě)的操作,下面這篇文章主要給大家介紹了關(guān)于python使用open函數(shù)對(duì)文件進(jìn)行處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Python3使用 GitLab API 進(jìn)行批量合并分支
這篇文章主要介紹了Python3使用 GitLab API 進(jìn)行批量合并分支的思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10