欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django視圖和URL配置詳解

 更新時(shí)間:2018年01月31日 14:36:17   作者:1024工場(chǎng)  
這篇文章主要介紹了Django視圖和URL配置詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是Django視圖和URL配置,具體介紹如下。

一、視圖

1.在mysite文件夾下,創(chuàng)建views.py文件(文件名沒(méi)有特別的要求);

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.運(yùn)行命令:python manage.py runserver。在瀏覽器訪問(wèn)http://127.0.0.1:8000/hello/;

4.你的URL申請(qǐng)?jiān)赨RLconf中沒(méi)有定義,“404錯(cuò)誤”頁(yè)面就會(huì)顯示,它精確的告訴你Django調(diào)用在哪個(gè)URLconf及其包含的每個(gè)模式,該頁(yè)面只會(huì)在調(diào)試模式(debug mode)下顯示;

二、Django是如何處理請(qǐng)求

1.當(dāng)你運(yùn)行python manage.py runserver,在manage.py同一個(gè)目錄下查找名為setting.py的文件,該文件包含了關(guān)于所有Django項(xiàng)目的配置信息;

ROOT_URLCONF='mysite.urls'#指向自動(dòng)生產(chǎn)的urls.py

2.瀏覽器里敲http://127.0.0.1:8000/hello訪問(wèn)時(shí)候,根據(jù)ROOT_URLCONF的設(shè)置裝載URLconf,然后按順序逐個(gè)匹配URLConf里面的URLpatterns,直到找到一個(gè)匹配的;

3.當(dāng)找到這個(gè)匹配的URLpatterns就調(diào)用相關(guān)聯(lián)的view函數(shù),并把HttpRequest對(duì)象作為第一個(gè)參數(shù);

4.Django轉(zhuǎn)換成HttpResponse為一個(gè)適合的HTTP reponse,以Web page顯示出來(lái);

三、動(dòng)態(tài)內(nèi)容

1.在項(xiàng)目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.在項(xiàng)目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.重新啟動(dòng)服務(wù),訪問(wèn)http://127.0.0.1:8000/time

4.松耦合原則,URL的定義和視圖函數(shù)之間的松耦合;

四、動(dòng)態(tài)URL

1.在項(xiàng)目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.在項(xiàng)目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.重新啟動(dòng)服務(wù),訪問(wèn)http://127.0.0.1:8000/time/1

總結(jié)

以上就是本文關(guān)于Django視圖和URL配置詳解的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

最新評(píng)論