1. 程式人生 > >Django學習筆記之環境搭建(一)

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”。