Django創建第一個應用
1,創建應用
Django自帶一個實用程序,可以自動生成應用程序的基本目錄結構,因此您可以專注于編寫代碼而不是創建目錄。
要創建您的應用程序,請確保您與目錄位于同一目錄,manage.py 并鍵入以下命令:
python3 manage.py startapp myweb
這將創建一個目錄myweb,其目錄如下:此目錄結構將容納輪詢應用程序。
[root@localhost demo]# tree mysite/
mysite/
├── manage.py
├── mysite
│ ├── init.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── myweb
├── admin.py
├── apps.py
├── init.py
├── migrations
│ └── init.py
├── models.py
├── tests.py
└── views.py
2,創建視圖
Django具有“視圖”的概念來封裝負責處理用戶請求和返回響應的邏輯。
在myweb/views.py
from django.shortcuts import render
from django.http import HttpResponse# Create your views here.# 定義視圖函數,業務邏輯
def index(request):# 返回一句話return HttpResponse('Hello World!!!')
3,修改root路由 mysite/urls.py
當用戶使用django提供的站點進行訪問時,首頁由路由進行匹配訪問地址,然后指定函數或子路由進行處理
from django.conf.urls import url,include
from django.contrib import adminurlpatterns = [# url(r'^admin/', admin.site.urls),url(r'^', include('myweb.urls')),
]
4,在應用下創建子路由
from django.conf.urls import url
from . import viewsurlpatterns = [url(r'^hello/',views.index),
]
5,通過瀏覽器訪問服務
注意:url路由,由上而下 進行匹配,如果在上面就匹配成功,則不會向下匹配
通過瀏覽器訪問服務127.0.0.1:8000/abc ==> root url(根路由) ==> 加載子路由(myweb/urls.py)==> 正則匹配訪問的路徑(path) =-=> 視圖函數(views.index)==> views.py index() 響應內容
6,使用模板
作為Web 框架,Django 需要一種很便利的方法以動態地生成HTML。
最常見的做法是使用模板。
模板包含所需HTML 輸出的靜態部分,以及一些特殊的語法,描述如何將動態內容插入。
在當前manage.py的同級目錄中創建一個文件夾 templates/index.html在settings.py文件中 TEMPLATES模塊設置選項'DIRS': [os.path.join(BASE_DIR,"templates")],在子路由中添加一個路由
url(r'^tmp$',views.tmp,name='myweb_tmp'),在views.py 創建一個 tmp的視圖函數def tmp(request):# 加載一個模塊return render(request,'index.html')
如果在視圖函數加載模板時,分配了數據,就可以在模板中使用數據
def tmp(request):# 實例化 模型對象,獲取數據# 分配數據,context = {'info':'aabbccddee'}# 加載一個模塊return render(request,'index.html',context)在html模板中輸出變量 輸出 <h3>加載數據</h3><p></p>