什麼是django?
django是一個基於python的高級web開發框架,它能夠讓開發人員進行高效
且快速的開發,高度集成(不用自己造輪子),免費並且開源。
安裝python
windows:python官網下載對應是msi安裝文件
記得勾選add python.exe to Path
mac及linux自帶python,無需安裝
windows下安裝django
注意查看官網上的FAQ選擇合適的版本。
方法一:
打開命令行:
pip install Django==1.10.2
方法二:
下載源碼,如你需要的版本.tar.gz文件,並解壓;
打開命令行:
cd 到解壓的根目錄下
python setup.py install
確認是否安裝成功
python -m django --version
創建項目
打開命令行,進入想要安置項目的目錄;
django-admin startproject newProjectTestName
newProjectTestName是自定義的項目名稱;
如果沒有報錯,就表示創建成功了;
pycharm上也可以新建新建項目。
項目目錄介紹
- 項目目錄結構
manage.py
newProjectTestName
init.py
settings.py
urls.py
wsgi.py
-
manage.py
與項目進行交互的命令行工具集的入口,即項目管理器;
執行python manage.py
來查看所有命令 ; -
newProjectTestName
項目的一個容器;
包含項目最基本的一些配置;
目錄名稱和項目名稱一致,不建議修改; -
wsgi.py
WSGI:python服務器網關接口;
python應用與web服務器之間的接口; -
urls.py
URL配置文件;
django項目中所有地址(頁面)都需要我們自己去配置其URL; -
settings.py
項目的總配置文件;
裏面包含了數據庫、web應用、時間等各種配置;
BASE_DIR = … 項目的根目錄;
SECRET_KEY= … 安全碼;
DEBUG=… 實際生產中需關閉DEBUG;
ALLOWED_HOSTS=… 關閉DEBUG後,django只允許用戶通過;ALLOWED_HOST的地址來訪問我們的網站,其他所有地址都被屏蔽;
INSTALLED_APPS=… 包含的是django默認生產的應用,開發者自行創建的應用的名稱也需要寫在此處,否則應用不被識別;
ROOT_URLCONF=… 指向URL的根文件;
TEMPLATES=… 模板,放置各個html文件;
DATABASES=… 數據庫配置 ,需要使用其他數據庫時可以在django的官方文檔中查找配置方法 https://docs.djangoproject.com/en/2.1/ref/settings/#databases ;
STATIC_URL=… 靜態文件的地址,存放js、css、img文件 ; -
init.py
python中聲明模塊的文件;
內容默認爲空;
創建應用
打開命令行,
cd 到項目中manage.py同級目錄
python manage.py startapp 應用名
添加應用名到settings.py中的INSTALLED_APPS裏
應用目錄介紹
- 目錄結構
migrations
init.py
__init.py
admin.py
apps.py
models.py
tests.py
views.py
-
migrations
數據遷移模塊;內容自動生成; -
admin.py
該應用的後臺的管理系統配置; -
apps.py
該應用的一些配置;django-1.9以後自動生成; -
models.py
數據模塊;使用ORM框架;類似於MVC結構中的Models(模型); -
tests.py
自動化測試模塊;django提供了自動化測試功能;在這裏編寫測試腳本; -
views.py
執行響應的代碼所在模塊;代碼邏輯處理的主要地點;項目中大部分代碼在這裏編寫;
創建第一個頁面(響應)
編譯器:pycharm
編輯newProjectTestName.views
from django.http import HttpResponse
Django 使用Request 對象和Response 對象在系統間傳遞狀態。 當請求一個頁面時,Django會建立一個包含請求元數據的
HttpRequest 對象。 當Django 加載對應的視圖時,HttpRequest
對象將作爲視圖函數的第一個參數。每個視圖會返回一個HttpResponse 對象。
與由Django自動創建的HttpRequest 對象相比,HttpResponse
對象由開發人員創建.你創建的每個視圖負責初始化實例,填充並返回一個 HttpResponse. HttpResponse
類是在django.http模塊中定義的。
在django的views中, 每個響應對應一個函數,函數必須返回一個響應; 函數必須存在一個參數,一般約定爲request
def index(request):
return HttpResponse('Hello, world!')
配置url:
每個URL都以url的形式寫出來;
url函數放在urlpatterns列表中;
url函數三個參數:URL(正則),對應方法,名稱
打開urls.py文件,
import newProjectTestName.views as bv
urlpatterns=[
url(r'^admin/', admin.site.urls),
url(r'^index/', bv.index),
]
打開命令行,啓動服務:
python manage.py runserver
輸入網址,打開剛剛新建的頁面:
127.0.0.1:8000/index/
顯示 Hello, world! 即代表成功。