溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DJango中視圖views和模版templates怎么用

發(fā)布時間:2021-08-12 10:59:29 來源:億速云 閱讀:141 作者:小新 欄目:開發(fā)技術

小編給大家分享一下DJango中視圖views和模版templates怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

視圖

在django中,視圖對WEB請求進行回應

視圖接收reqeust對象作為第一個參數(shù),包含了請求的信息

視圖就是一個Python函數(shù),被定義在views.py中

定義完成視圖后,需要配置urlconf,否則無法處理請求

在Django中,定義URLconf包括正則表達式、視圖兩部分

Django使用正則表達式匹配請求的URL,一旦匹配成功,則調(diào)用應用的視圖

注意:只匹配路徑部分,即除去域名、參數(shù)后的字符串

在test1/urls.py插入booktest,使主urlconf連接到booktest.urls模塊

視圖代碼

# views.py
# 一個簡單的視圖,固定返回 hrllo world
def index(request):
  return HttpResponse('hello world')

模板

模板是html頁面,可以根據(jù)視圖中傳遞的數(shù)據(jù)填充值

模板和應用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)),
  # 如果匹配的是空就就調(diào)用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結尾就是調(diào)用視圖中的函數(shù) js
  url(r'.*.js',views.js),
  # 直接訪問代表是首頁,調(diào)用視圖中的函數(shù)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):
  # 返回引號中的文件的內(nèi)容
  return render(request, 'booktest/index.html')

def js(request):
  # 返回引號中的文件的內(nèi)容
  return render(request,'booktest/jquery-1.12.4.js')

以上是“DJango中視圖views和模版templates怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI