對DJango視圖(views)和模版(templates)的使用詳解
視圖
在django中,視圖對WEB請求進行回應
視圖接收reqeust對象作為第一個參數,包含了請求的信息
視圖就是一個Python函數,被定義在views.py中
定義完成視圖后,需要配置urlconf,否則無法處理請求
在Django中,定義URLconf包括正則表達式、視圖兩部分
Django使用正則表達式匹配請求的URL,一旦匹配成功,則調用應用的視圖
注意:只匹配路徑部分,即除去域名、參數后的字符串
在test1/urls.py插入booktest,使主urlconf連接到booktest.urls模塊
視圖代碼
# views.py
# 一個簡單的視圖,固定返回 hrllo world
def index(request):
return HttpResponse('hello world')
模板
模板是html頁面,可以根據視圖中傳遞的數據填充值
模板和應用booktest是同級目錄
模板的結構templates/應用名(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)), # 如果匹配的是空就就調用views.index返回首頁 url(r'^$',views.index), ]
方式二: 在應用目錄下修改
# fanlie/fanlei/urls.py
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
# 什么都不干直接去booktest.urls去找相應的匹配
url(r'^',include('booktest.urls')),
]
# fanlei/booktest/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
# js結尾就是調用視圖中的函數 js
url(r'.*.js',views.js),
# 直接訪問代表是首頁,調用視圖中的函數index
url(r'^$', views.index),
# 如果是image開頭的代表是圖片,直接讓DJango去打開對應的圖片返回
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): # 返回引號中的文件的內容 return render(request, 'booktest/index.html') def js(request): # 返回引號中的文件的內容 return render(request,'booktest/jquery-1.12.4.js')
以上這篇對DJango視圖(views)和模版(templates)的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PyCharm創(chuàng)建Django項目的簡單步驟記錄
PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,下面這篇文章主要給大家介紹了關于利用PyCharm創(chuàng)建Django項目的簡單步驟,需要的朋友可以參考下2022-07-07
anaconda3:conda not found報錯問題解決
這篇文章主要給大家介紹了關于anaconda3:conda not found報錯問題解決的相關資料,Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學包及其依賴項,需要的朋友可以參考下2023-10-10
python創(chuàng)建關聯(lián)數組(字典)的方法
這篇文章主要介紹了python創(chuàng)建關聯(lián)數組(字典)的方法,涉及Python操作字典的相關技巧,非常具有實用價值,需要的朋友可以參考下2015-05-05
Xadmin+rules實現(xiàn)多選行權限方式(級聯(lián)效果)
這篇文章主要介紹了Xadmin+rules實現(xiàn)多選行權限方式(級聯(lián)效果),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04

