Django 快速入門

快速安裝

在使用Django之前,我們需要把它先安裝好。我們這里有一個完整的安裝指南,涵蓋了所有的可能性; 本指南將引導(dǎo)您通過簡單的,最小化安裝。

Windows 安裝參考: https://docs.djangoproject.com/en/1.9/howto/windows/

安裝Python

作為一個Python Web框架,Django 需要 Python 環(huán)境的支持。Python中包括一個輕量級的數(shù)據(jù)庫:SQLite,所以我們不會需要建立數(shù)據(jù)庫。

獲得 Python 的最新版本在以下網(wǎng)址: https://www.python.org/download/ 或選擇你對應(yīng)操作系統(tǒng)的軟件包管理器。

可以驗證Python是否安裝,通過從shell 鍵入python; 應(yīng)該看到類似這樣輸出結(jié)果:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
Python 3.4.x
 [GCC 4.x] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>>

配置數(shù)據(jù)庫

如果想使用像PostgreSQL,MySQL和Oracle這些一個“大”數(shù)據(jù)庫引擎工作。要安裝這樣的數(shù)據(jù)庫,請查閱 數(shù)據(jù)庫的安裝信息。

刪除所有舊版本的Django

如果您是從舊版本升級安裝Django的等方面,需要 安裝新版本前卸載舊版本的Django。

安裝Django

一般使用三個簡單的選項來安裝Django:

安裝由操作系統(tǒng)分配提供的一個Django版本。 這是最快的選擇對于那些有分發(fā)Django的操作系統(tǒng)。

安裝  官方發(fā)布版本。這是大多數(shù)用戶的最佳方法。

安裝最新開發(fā)版本。此選項是那些想要最新的,并且不怕新代碼有BUG的愛好者。您可能會遇到在開發(fā)新版本遇到bug,并報告給他們以幫助Django的發(fā)展。另外,第三方軟件包版本在開發(fā)版本不太可能比最新的穩(wěn)定版本兼容。

安裝Windows

我們假設(shè)你的 Django 存檔并且 Python 安裝在計算機上,當前的最新版本是:1.9.1,可通過以下網(wǎng)址下載: https://www.djangoproject.com/download/

首先,路徑驗證。

在某些版本的Windows(Windows 7)中,需要確保 Path 系統(tǒng)變量的路徑如下:C:\Python27\;C:\Python27\Lib\site-packages\django\bin\ 在里面,當然這取決于你的Python版本。

然后,提取和安裝Django,這里我們把解壓到 C:\Python27\

解壓

接下來,通過運行以下命令,在windows shell “cmd” 可能需要管理權(quán)限來安裝Django ?

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
', monospace;line-height:1.5;">C:\Python27\Django-1.9.1
  >python setup.py install

要測試你的安裝,打開命令提示符,從 shell 輸入Python可以看到。然后在Python提示符,嘗試導(dǎo)入Django:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
>>> import django
 >>> print(django.get_version())
 1.9.1

這就算安裝完成了。接下來我們要進入開發(fā)的第一步。


開發(fā)第一個Django app

讓我們開始創(chuàng)建一個Web應(yīng)用程序并一步步地學(xué)習(xí)。

在本教程中,將引導(dǎo)您完成創(chuàng)建一個基本的民意調(diào)查 (poll) 的應(yīng)用。

這將包括兩部分:

一個公共網(wǎng)站,讓人們在上面查看投票和投票。

一個網(wǎng)站管理,您可以添加,更改和刪除投票。

假設(shè)你的 Django 已經(jīng)安裝完成??梢源_認 Django 安裝和版本,運行以下命令:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
$ python -c "import django; print(django.get_version())"

如果安裝 Django,你應(yīng)該看到安裝的版本。如果還未安裝會得到一個錯誤提示: “No module named django”。

本教程是使用 Django1.9和Python2.7或更高版本編寫的。如果Django的版本不匹配,您可以通過使用版本切換 Django 版本,或者 Django 更新到最新版本。如果還在使用Python2.7,則需要稍微調(diào)整代碼,如在注釋中描述。

創(chuàng)建一個項目

如果第一次使用Django,必須采取一些初始設(shè)置。也就是說,需要自動生成一些代碼,建立一個Django項目 - 設(shè)置Django實例的集合,包括數(shù)據(jù)庫配置,Django 特定選項和特定應(yīng)用程序設(shè)置。

在命令行,cd 到你想要存儲代碼目錄,比如,這里我創(chuàng)建項目的地方是:C:\Python7\ ,然后運行以下命令:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08C:\python27> django-admin startproject mysite

這將在 C:\python17下創(chuàng)建 mysite 目錄。如下圖:

創(chuàng)建目錄

讓我們來看看 startproject 命令創(chuàng)建的目錄結(jié)構(gòu):

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
mysite/
     manage.py
     mysite/
         __init__.py
         settings.py
         urls.py
         wsgi.py

對上面這些文件的簡要說明:

在 mysite/ 根目錄上級僅僅是一個容器項目。對于Django它的名字隨意,可以將其重命名為任何你喜歡的。

manage.py: 一個命令行工具,可以讓您以各種方式與Django項目進行交互。你可以閱讀所有關(guān)于manage.py 在 django-admin和manage.py 的細節(jié)。 內(nèi)部 mysite/目錄是實際項目的Python包。它的名字是你需要使用導(dǎo)入里面的任何Python包的名稱(例如mysite.urls)。 mysite/__init__.py: 一個空文件,該文件告訴Python這個目錄應(yīng)該作為一個Python包。 mysite/settings.py: 設(shè)置/配置這個Django項目。 Django的設(shè)置,會告訴你如何設(shè)置工作。 mysite/urls.py: 該 URL 聲明這個Django項目; 類似Django網(wǎng)站的一個“表的內(nèi)容”。 mysite/wsgi.py: 一個WSGI兼容Web服務(wù)器的入口點,以滿足您的項目需要。

開發(fā)服務(wù)器

讓我們來驗證你的Django項目工程。更改到外mysite的目錄,如果你有沒有準備好,并運行以下命令:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08C:\python27\mysite> python manage.py runserver

你會看到在命令行下面的輸出:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
Performing system checks...
 System check identified no issues (0 silenced).
 You have unapplied migrations; your app may not work properly until they are applied.
 Run 'python manage.py migrate' to apply them.
 January 24, 2016 - 15:50:53
 Django version 1.9, using settings 'mysite.settings'
 Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

你已經(jīng)啟動Django開發(fā)服務(wù)器,它是用Python寫的純粹一個輕量級的Web服務(wù)器。我們已經(jīng)包含在 Django 中了,所以你可以很快開發(fā)東西了,而不必處理配置生產(chǎn)服務(wù)器 - 如:Apache 。

需要注意的是:不要在任何類似生產(chǎn)環(huán)境中使用此服務(wù)器。它的目的只是用于開發(fā)(我們是在使用Web框架,而不是Web服務(wù)器的業(yè)務(wù)。)

現(xiàn)在,服務(wù)器的運行,請使用Web瀏覽器訪問: http://127.0.0.1:8000/。會看到一個“Welcome to Django”頁面。這表示它安裝成功了! Web瀏覽器訪問

默認情況下 runserver 命令啟動就在內(nèi)部IP開發(fā)服務(wù)器的端口 8000。

如果你想改變服務(wù)器的端口,將它作為命令行參數(shù)。例如,下面這個命令會在服務(wù)器8080端口運行:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
$ python manage.py runserver 8080

如果想改變服務(wù)器的IP,傳遞給它端口。(如果你想暴露在其他計算機或網(wǎng)絡(luò)上工作)所有公網(wǎng)IP聽,使用以下方法:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
$ python manage.py runserver 0.0.0.0:8000

創(chuàng)建Polls app

現(xiàn)在的“project” - 設(shè)置完畢后就開始可以工作了。

在Django寫的每個應(yīng)用程序包含一個Python包,遵循一定的約定。 Django提供了一個實用程序,自動生成一個應(yīng)用程序的基本目錄結(jié)構(gòu),這樣就可以專注于寫代碼而不是建立目錄。

應(yīng)用程序可以在Python路徑中的任何地方。在本教程中,我們將創(chuàng)建投票程序在 manage.py 文件同級目錄中,以便它可以被導(dǎo)入作為自己的頂層模塊,而不是 mysite 的一個子模塊。

在創(chuàng)建應(yīng)用程序前,確保你在 manage.py 同一個目錄中并鍵入以下命令:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08C:\python27\mysite> python manage.py startapp polls

這將創(chuàng)建一個目錄polls,這是目錄結(jié)構(gòu)是這樣的:

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
polls/
     __init__.py
     admin.py
     apps.py
     migrations/
         __init__.py
     models.py
     tests.py
     views.py

這個目錄結(jié)構(gòu)中的 poll 應(yīng)用程序。

編寫視圖代碼

現(xiàn)在我們來編寫的第一個視圖。打開文件polls/views.py,把下面的Python代碼放入里面:


polls/urls.py
  # Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
from django.conf.urls import url from . import views
 urlpatterns = [
     url(r'^, views.index, name='index'),
 ] , views
    .index, name
    =
    'index'),
    
 ]

下一步驟是讓 polls.urls 模塊指向該ROOT_URLCONF。在 mysite/urls.py 中, 增加導(dǎo)入 django.conf.urls.include 并插入 include() 在URL模式列表中,所以這里有:

<div fira="" mono',="" consolas,="" menlo,="" monaco,="" 'courier="" new'="" ,="" courier,="" monospace;"="">mysite/urls.py
  # Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
from django.conf.urls import include, url from django.contrib import admin
 urlpatterns = [
     url(r'^polls/', include('polls.urls')),
     url(r'^admin/', admin.site.urls),
 ]

現(xiàn)在已經(jīng)連接索引視圖到URL配置。讓我們來驗證它結(jié)果,運行以下命令:

  # Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
', 'lucida sans', line-height:1.5;">C:\Python27\mysite> python manage.py runserver

 

在瀏覽器中打開 http://localhost:8000/polls/,應(yīng)該看到如下文字顯示: “Hello, world. You’re at the polls index.”, 在 index 視圖中所定義。

在瀏覽器中訪問  

url()函數(shù)傳遞四個參數(shù),兩個必需的:regex 和 view,以及兩個可選:kwargs 和 name。

url() 參數(shù): regex

術(shù)語“regex”是一種常用的縮寫形式,意思是“正則表達式”,這是一個語法字符串匹配模式,或在我們的示例中是URL模式。Django從第一個正則表達式開始,并使得其遍歷列表,比對每一個正則表達式的請求的URL,直到它找到一個匹配。

請注意,這些正則表達式不搜索GET和POST參數(shù),或者域名。例如,在一個請求https://www.example.com/myapp/, URLconf 會尋找myapp/.在一個請求 https://www.example.com/myapp/?page=3, URLconf 還將尋找 myapp/.

如果需要使用正則表達式的幫助,請參見維基百科的條目和    re 模塊的文檔。 然而在實踐中,你并不需要成為正則表達式的專家,因為只需要知道如何捕捉簡單的模式。事實上,復(fù)雜的正則表達式可以查找性能較差,所以你可能不依賴于正則表達式的全部功能。

最后,一個關(guān)于性能的事項需要了解:這些正則表達式編譯首次URL配置模塊被加載。它們是超級的快(只要查找東西不是太復(fù)雜 - 如上所述)。

url() 參數(shù): view

當 Django 找到正則表達式匹配,Django調(diào)用指定的視圖函數(shù),使用 HTTP 請求對象作為第一個參數(shù),從正則表達式“捕獲”的其他參數(shù)作為其它的值。 正則表達式使用簡單的捕捉,值傳遞是通過位置參數(shù);如果使用名為捕捉,值傳遞關(guān)鍵字參數(shù)。我們將給出一個實例。

url() 參數(shù): kwargs

任意關(guān)鍵字參數(shù)可以通過在字典中的目標視圖。在本教程我們不打算使用Django的這一特點。

url() argument: name

命名網(wǎng)址可以參考它,明確地從其他地方在Django - 尤其是模板。 這種強大的功能可讓您進行全局更改到項目的URL模式,而只需要修改一個文件。接下來我們學(xué)習(xí)如何在 Django 使用數(shù)據(jù)功能。 快速入門系列教程:

Django快速入門-數(shù)據(jù)庫模型  
  Django快速入門-視圖  
  Django快速入門-表單 

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清