elasticsearch入門系列">elasticsearch入門系列
652
2022-05-30
前言
一個視圖函數(類),簡稱視圖,是一個簡單的Python 函數(類),它接受Web請求并且返回Web響應。
響應可以是一張網頁的HTML內容,一個重定向,一個404錯誤,一個XML文檔,或者一張圖片。
無論視圖本身包含什么邏輯,都要返回響應。代碼寫在哪里也無所謂,只要它在你當前項目目錄下面。除此之外沒有更多的要求了——可以說“沒有什么神奇的地方”。為了將代碼放在某處,大家約定成俗將視圖放置在項目(project)或應用程序(app)目錄中的名為views.py的文件中。
提示:以下是本篇文章正文內容,下面案例可供參考
一、 定義視圖
視圖就是一個Python函數,被定義在應用的views.py中.
視圖的第一個參數是HttpRequest類型的對象reqeust,包含了所有請求信息.
視圖必須返回HttpResponse對象,包含返回給請求者的響應信息.
需要導入HttpResponse模塊 :from django.http import HttpResponse
定義視圖函數 : 響應字符串index給客戶端
from django.shortcuts import render from django.http import HttpRequest,HttpResponse # Create your views here. def index(request): return HttpResponse('book-index')
二、配置URLconf
查找視圖的過程 :
1.請求者在瀏覽器地址欄中輸入URL, 請求到網站. 2.網站獲取URL信息. 3.然后與編寫好的URLconf逐條匹配. 4.如果匹配成功則調用對應的視圖. 5.如果所有的URLconf都沒有匹配成功.則返回404錯誤.
URLconf入口
""" DjangoWeb URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ # Uncomment next two lines to enable admin: from django.contrib import admin #from django.urls import path from django.conf.urls import url, include urlpatterns = [ # Uncomment the next line to enable the admin: #path('admin/', admin.site.urls) url(r'^admin/', admin.site.urls), url(r'^',include('book.urls')) ]
在子應用中添加urls.py
from django.conf.urls import url from book.views import index urlpatterns = [ #index/ # url的第一參數是:正則 # url的第二參數是:視圖函數名 #pay/order/ url(r'^index/$',index), ]
url匹配過程
三、請求訪問
總結
視圖處理過程如下圖:
使用視圖時需要進行兩步操作,兩步操作不分先后
配置URLconf
在應用/views.py中定義視圖
5G教育 Django Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。