Django學習之路3 專案與應用

2021-09-29 18:28:21 字數 3344 閱讀 9525

通過 djaong 編寫的每個應用都是由 python 包組成的,這些包存放在你的 python path 中並且遵循一定的命名規範。

django 提供了個實用工具可以自動生成乙個應用的基本目錄架構,因此你可以專注於編寫**而不是去建立目錄。

專案與應用之間有什麼不同之處?應用是乙個提供功能的 web 應用 – 例如:乙個部落格系統、乙個公共記錄的資料庫或者乙個簡單的投票系統。 專案是針對乙個特定的 web **相關的配置和其應用的組合。乙個專案可以包含多個應用。乙個應用可以在多個專案中使用。

應用可以存放在 python path 中的任何位置。在本教材中,將通過 manage.py 檔案建立我們的應用,以便它可以作為頂層模組匯入,而不是作為 專案 的子模組。

現在正式開始吧, 我們建立乙個名為my_blog的django專案

建立專案的指令如下:

$ django-admin.py startproject my_blog
看一下整個專案的檔案結構

$ tree my_blog   #列印樹形檔案結構

my_blog

├── manage.py

└── my_blog

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

1 directory, 5 files

這些檔案是:

外層 my_blog/ 目錄只是你專案的乙個容器。對於 django 來說該目錄名並不重要; 你可以重新命名為你喜歡的。

manage.py: 乙個實用的命令列工具,可讓你以各種方式與該 django 專案進行互動。 你可以在 django-admin.py and manage.py 中檢視關於 manage.py 所有的細節。

內層 my_blog/ 目錄是你專案中的實際 python 包。該目錄名就是 python 包名,通過它你可以匯入它裡面的任何東西。 (e.g. import mysite.settings).

my_blog/settings.py: 該 django 專案的設定/配置。請檢視 django settings 將會告訴你如何設定。

my_blog/urls.py: 該 django 專案的 url 宣告; 乙份由 django 驅動的**「目錄」。請檢視 url dispatcher 可以獲取更多有關 url 的資訊。

my_blog/wsgi.py: 乙個 wsgi 相容的 web 伺服器的入口,以便執行你的專案。請檢視 how to deploy with wsgi 獲取更多細節。

重新看一下整個專案的結構

── article

│ ├── __init__.py

│ ├── admin.py

│ ├── migrations

│ │ └── __init__.py

│ ├── models.py

│ ├── tests.py

│ └── views.py

├── db.sqlite3

├── manage.py

├── my_blog

├── __init__.py

├── __pycache__

│ ├── __init__.cpython-34.pyc

│ ├── settings.cpython-34.pyc

│ ├── urls.cpython-34.pyc

│ └── wsgi.cpython-34.pyc

├── settings.py

├── urls.py

└── wsgi.py

...)

#執行程式

啟動web應用:

$ python manage.py runserver   #啟動django中的開發伺服器

#如果執行上面命令出現以下提示

#請先使用下面命令

python manage.py migrate

#輸出如下資訊

operations to perform:

running migrations:

執行成功後,會顯示如下資訊:

#重新執行啟動django中的開發伺服器

$ python manage.py runserver

#執行成功顯示如下資訊

system check identified no issues (0 silenced).

december 21, 2014 - 08:56:00

django version 1.7.1, using settings 'my_blog.settings'

starting development server at

quit the server with control-c.

現在可以啟動瀏覽器, 輸入, 出現

這裡啟動了 django 開發伺服器,乙個純粹的由 python 編寫的輕量級 web 伺服器

我們在 django 內包含了這個伺服器,這樣你就可以迅速開發了,在產品投入使用之前不必去配置一台生產環境下的伺服器 – 例如 apache 。

現在是乙個很好的提示時機:不要 在任何類似生產環境中使用此伺服器。它僅適用於開發環境。

(我們提供的是 web 框架的業務,而不是 web 伺服器。)

#更改埠號 預設情況下,runserver 命令啟動的開發伺服器只監聽本地 ip 的 8000 埠。

如果你想改變伺服器的埠,把它作為乙個命令列引數傳遞即可。例如以下命令啟動的伺服器將監聽 8080 埠:

python manage.py runserver 8080
python manage.py runserver 0.0.0.0:8000
有關開發伺服器的完整文件可以在 runserver 內參考。

命令梳理:

python manage.py [options]    #django command python manange.py -h幫助文件

django-admin.py startproject my_blog #建立專案

Django簡單應用之3 專案開展

在目標資料夾之下執行cmd,輸入 django admin startproject 檔名 注 django admin之間沒有空格 新建django專案之後,資料夾下屬目錄 1 manage.py 專案與命令列互動工具集入口,即專案管理器 django是自帶乙個小型伺服器的,可通過命令 pytho...

Django學習之二 專案和應用

在django中,像上一節那樣的一套目錄結構和其中的設定就是乙個django可識別的專案。應用指的就是一組model 資料模型 views 檢視 templates 模板 和urls的集合。django框架通過使用應用,為站點提供各種功能,應用還可以被復用在不同的專案中。你可以將乙個專案理解為乙個站...

django 0 專案流程

1 django admin py startproject mysite 建立專案project 得到 init py 說明工程以包結構存在 settings.py 當前工程的一些配置 urls.py wsgi.py manage.py 管理工具 當我們的訪問url訪問前者 即r blog ind...