通過 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...