當前位置:
首頁 >
Django:视图和URL配置
發布時間:2025/3/19
33
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Django:视图和URL配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、視圖? ? ?1.在mysite文件夾下。創建views.py文件(文件名稱沒有特別的要求);from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world")? ? ?2.改動mysite文件夾下的urls.py文件;??from django.conf.urls import url
from django.contrib import adminfrom mysite.views import hellourlpatterns = [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調用在哪個URLconf及其包括的每一個模式。該頁面僅僅會在調試模式(debug mode)下顯示;?????? ? ?5.使用URL模式”^$“匹配站點根文件夾URL模式;二、Django是怎樣處理請求? ? ?1.當你執行python manage.py runserver,在manage.py同一個文件夾下查找名為setting.py的文件,該文件包括了關于全部Django項目的配置信息。? ? ? ? ? ROOT_URLCONF='mysite.urls'#指向自己主動生產的urls.py? ? ?2.瀏覽器里敲http://127.0.0.1:8000/hello訪問時候,依據ROOT_URLCONF的設置裝載URLconf,然后按順序逐個匹配URLConf里面的URLpatterns,直到找到一個匹配的;? ? ?3.當找到這個匹配的URLpatterns就調用相關聯的view函數,并把HttpRequest對象作為第一個參數;? ? ?4.Django轉換成HttpResponse為一個適合的HTTP reponse,以Web page顯示出來;三、動態內容? ? ?1.在項目views.py中加入。例如以下視圖:from django.http import HttpResponse import datetimedef hello(request):return HttpResponse("Hello world")def current_datetime(request):now = datetime.datetime.now()html = "<html><body>It is now %s.</body></html>" % nowreturn HttpResponse(html)? ? ?2.在項目urls.py中加入。例如以下配置:from django.conf.urls import url from django.contrib import adminfrom mysite.views import hello , current_datetimeurlpatterns = [url(r'^admin/', admin.site.urls),url(r'^hello/$', hello),url(r'^time/$', current_datetime), ]? ? ?3.又一次啟動服務。訪問http://127.0.0.1:8000/time? ? ?? ? ?4.松耦合原則,URL的定義和視圖函數之間的松耦合。四、動態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 adminfrom mysite.views import hello , current_datetime , hours_aheadurlpatterns = [url(r'^admin/', admin.site.urls),... ... url(r'^time/plus/(\d{1,2})/$', hours_ahead), ]? ? ?3.又一次啟動服務。訪問http://127.0.0.1:8000/time/1? ? ??總結
以上是生活随笔為你收集整理的Django:视图和URL配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用阿里云的免费SSL 证书让网站从HTT
- 下一篇: 英特尔在中国投资55亿美元非易失性存储项