Django學習筆記之環境搭建(一)
Django是一個高階的Python Web開發框架,它鼓勵快速開發,和實用的設計。它採用了MTV的設計模式,並且它由經驗豐富的開發人員來構建,
可以解決Web開發的諸多問題,因此也被稱為全棧Web開發框架。它是開源的,直接可以到https://www.djangoproject.com/start/官方檢視它的說明文件。
在這裡主要是以Pyhton3.6為版本,逐步的說明Django框架在web開發方面的使用。首先需要來安裝它,在這裡假設您已經安裝好了Pyhton3.6的環境
並且搭建了它的環境變數,在windows的環境中,在cmd中輸入python3顯示Python命令列,說明環境搭建已好,如下圖所示:
在windows的cmd命令列中,輸入如下命令進行安裝Django,安裝命令為:
pip install django
首先安裝或者已經安裝好了,都會顯示出對應的資訊,這裡由於已經安裝了django,它會告訴我們已經安裝了django,如下圖所示:
進入到Python的環境後,匯入django無任何的錯誤提示,說明django已安裝成功,如下圖所示:
在如上中可以看到django已經安裝好並且它的版本的2.0.0的版本,截至目前django最新的版本的2.1.4的版本。
這裡使用的IDE是Pycharm,在這裡建立Django的專案,在Pycharm中右鍵選擇New Project,然後選擇Django的專案,如下圖所示
建立blog的專案:
點選Create後,就會建立blog的django的專案。在django中,有經常使用的命令,進入到blog的專案目錄,執行pyhton manage.py
後,就會顯示常用的命令,如下圖所示:
這裡重點說明下常用的命令,具體如下:
python manage.py check:檢查環境
python manage.py startapp:建立app的應用
python manage.py makemigrations:同步建立資料庫的指令碼
pyhton manage.py migrate: 同步資料庫
python manage.py runserver:啟動django自帶的服務
由於django自帶了服務,所以就不需要額外的web容器,它的啟動命令是:pyhton manage.py runserver,啟動後,預設埠是8000,
見啟動的命令和啟動後顯示的資訊,如下圖所示:
在Pycharm啟動的方式是執行manage.py後,點選選單欄的run,然後點選Edit Configurations,然後填寫runserver,如下圖所示:
點選ok後,再次在IDE中執行manage.py,在IDE中就會啟動,如下圖所示:
在瀏覽器中訪問:http://localhost:8000/,就會顯示如下資訊,如下圖所示:
在django中,每一個app就是一個應用,django預設自帶了很多的應用,建立django的專案後,在settings.py檔案中,具體如下圖所示:
這裡建立login的app,建立的命令是python manage.py startapp login,如下圖所示:
建立成功後,就會在專案下生成一個app,如下圖所示:
在一個django的專案中,會有很多的app的,因此把所有的app放在一個apps的目錄下,在blog的專案下建立資料夾apps,把login
複製到apps的資料夾,並且在settings.py檔案中做處理,見處理的具體程式碼:
import os import sys # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
在django中,或者說在web中,每一個頁面訪問都得需要地址,其實在django的專案中,建立後,就已經有了urls.py,它裡面就是
路由的地址,但是每一個app的路由地址應該由urls.py進行分發,也就是說urls.py只記錄每個app的地址,至於每個app中的地址,應該由每個
app來處理,這樣方便url的維護,也比較高效。所以把urls.py複製一份到login的app下,名字修改為url.py,在urls.py中加入login的地址,見
urls.py原始碼:
"""blog URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.0/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('login/',include('login.url',namespace='login')), ]
在login的app中,也就是在login的views.py中編寫一個函式,並且在login的url.py配置一個訪問地址,來測試
是否OK,views.py的原始碼為:
from django.shortcuts import render,redirect from django.http import HttpResponse # Create your views here. def index(request): return HttpResponse('Hello World')
login中的url.py原始碼為:
from django.urls import path from .views import * app_name='login' urlpatterns = [ path('', index,name='index'), ]
然後在瀏覽器訪問:http://localhost:8000/login/,就會顯示“Hello World”。