Django視圖和URL配置詳解
本文研究的主要是Django視圖和URL配置,具體介紹如下。
一、視圖
1.在mysite文件夾下,創(chuàng)建views.py文件(文件名沒有特別的要求);
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world")
2.修改mysite文件夾下的urls.py文件;
from django.conf.urls import url from django.contrib import admin from mysite.views import hello urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello/$', hello), ]
3.運行命令:python manage.py runserver。在瀏覽器訪問http://127.0.0.1:8000/hello/;
4.你的URL申請在URLconf中沒有定義,“404錯誤”頁面就會顯示,它精確的告訴你Django調(diào)用在哪個URLconf及其包含的每個模式,該頁面只會在調(diào)試模式(debug mode)下顯示;
二、Django是如何處理請求
1.當你運行python manage.py runserver,在manage.py同一個目錄下查找名為setting.py的文件,該文件包含了關(guān)于所有Django項目的配置信息;
ROOT_URLCONF='mysite.urls'#指向自動生產(chǎn)的urls.py
2.瀏覽器里敲http://127.0.0.1:8000/hello訪問時候,根據(jù)ROOT_URLCONF的設(shè)置裝載URLconf,然后按順序逐個匹配URLConf里面的URLpatterns,直到找到一個匹配的;
3.當找到這個匹配的URLpatterns就調(diào)用相關(guān)聯(lián)的view函數(shù),并把HttpRequest對象作為第一個參數(shù);
4.Django轉(zhuǎn)換成HttpResponse為一個適合的HTTP reponse,以Web page顯示出來;
三、動態(tài)內(nèi)容
1.在項目views.py中添加,如下視圖:
from django.http import HttpResponse import datetime def hello(request): return HttpResponse("Hello world") def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)
2.在項目urls.py中添加,如下配置:
from django.conf.urls import url from django.contrib import admin from mysite.views import hello , current_datetime urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^hello/$', hello), url(r'^time/$', current_datetime), ]
3.重新啟動服務(wù),訪問http://127.0.0.1:8000/time
4.松耦合原則,URL的定義和視圖函數(shù)之間的松耦合;
四、動態(tài)URL
1.在項目views.py中添加,如下視圖:
from django.http import HttpResponse , Http404 import datetime ... ... def hours_ahead(request, offset): try: offset = int(offset) except ValueError: raise Http404() dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = "<html><body>In %s hours(s), it will be %s.</body></html>" % (offset, dt) return HttpResponse(html)
2.在項目urls.py中添加,如下配置:
from django.conf.urls import url from django.contrib import admin from mysite.views import hello , current_datetime , hours_ahead urlpatterns = [ url(r'^admin/', admin.site.urls), ... ... url(r'^time/plus/(\d{1,2})/$', hours_ahead), ]
3.重新啟動服務(wù),訪問http://127.0.0.1:8000/time/1
總結(jié)
以上就是本文關(guān)于Django視圖和URL配置詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Python?ChineseCalendar包主要類和方法詳解
ChineseCalendar?是一個?Python?包,用于獲取中國傳統(tǒng)日歷信息。這個包提供了中國農(nóng)歷、二十四節(jié)氣、傳統(tǒng)節(jié)日、黃歷等信息,這篇文章主要介紹了Python?ChineseCalendar包簡介,需要的朋友可以參考下2023-03-03Django之使用celery和NGINX生成靜態(tài)頁面實現(xiàn)性能優(yōu)化
這篇文章主要介紹了Django之使用celery和NGINX生成靜態(tài)頁面實現(xiàn)性能優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10Python 生成 -1~1 之間的隨機數(shù)矩陣方法
今天小編就為大家分享一篇Python 生成 -1~1 之間的隨機數(shù)矩陣方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08python腳本實現(xiàn)xls(xlsx)轉(zhuǎn)成csv
這篇文章主要介紹了python腳本實現(xiàn)xls(xlsx)轉(zhuǎn)成csv的相關(guān)資料,需要的朋友可以參考下2016-04-04使用pycharm連接讀取orcl數(shù)據(jù)庫的表的操作方法
這篇文章主要介紹了使用pycharm連接讀取orcl數(shù)據(jù)庫的表的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01Python產(chǎn)生一個數(shù)值范圍內(nèi)的不重復的隨機數(shù)的實現(xiàn)方法
這篇文章主要介紹了Python產(chǎn)生一個數(shù)值范圍內(nèi)的不重復的隨機數(shù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08