Django快速安裝以及創建我的第一個Django項目
特別說明:本文是針對Django 1.11和Python 3或更高版本編寫的。如果Django版本不匹配,可跳過該文章,或者將您的Django更新到最新版本。
一、Django安裝步驟
1、安裝版本:
Django1.11.1
Django 下載地址:https://www.djangoproject.com/download/
2、支持的PYTHON版本
django1.11以後不再支持python2.7 ,所以必須是python3版本上
3、安裝python3+
Python 下載地址:https://www.python.org/downloads/
4、安裝PYTHON3+
安裝Python你只需要下載python-x.x.x.msi文件,然後一直點擊"Next"按鈕即可。
安裝完成後你需要設置Python環境變量。 右擊計算機->屬性->高級->環境變量->修改系統變量path,添加Python安裝地址,本文實例使用的是C:\Python34,你需要根據你實際情況來安裝。
如果是linux系統請下載Python-3.x.x.tgz安裝包自行安裝。
5、Django 安裝
A、源碼下載安裝
將Django 壓縮包解壓並和Python安裝目錄放在同一個根目錄,進入 Django 目錄,執行python setup.py install,然後開始安裝,Django將要被安裝到Python的Lib下site-packages。
C:\Python34\Lib\site-packages
然後是配置環境變量,將這幾個目錄添加到系統環境變量中: C:\Python33\Lib\site-packages\django;C:\Python33\Scripts。 添加完成後就可以使用Django的django-admin.py命令新建工程了
檢查是否安裝成功
python -m django --version 或者,
>>> import django
>>> print django.get_version()
如果Django已經安裝,你應該看到安裝的版本。 如果還沒有安裝,你會看到一個“No module named django”的錯誤。
B、pip命令在線安裝
第一步需要安裝pip命令
下載pip命令,解壓切換到pip文件夾,python setup.py install安裝,然後就可以使用pip命令了。
pip install Django==1.11.1
6、關於如何刪除舊版本的Django並安裝一個新的
如果要從以前的版本升級Django的安裝,則需要在安裝新版本之前卸載舊的Django版本
如果以前使用pip或easy_install安裝了Django,則再次使用pip或easy_install安裝會自動處理舊版本,所以你不需要自己做。
如果您以前使用python setup.py 安裝安裝了Django,卸載操作就像刪除django目錄從您的Python site-packages。
查找
$ python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
安裝就到此結束了。
二、創建一個project
1、Creating a project
django-admin startproject mysite
註意:您將需要避免在內置Python或Django組件後命名項目。特別是,這意味著你應該避免使用像djangoDjango本身這樣的名字 (或者test與內置的Python包沖突)
2、mysite項目中文件說明
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
外部mysite/根目錄只是一個項目的容器。它的名字與Django無關; 您可以將其重命名為您喜歡的任何內容。
manage.py:一個命令行實用程序,可以讓您以各種方式與此Django項目進行交互。您可以閱讀django-admin和manage.pymanage.py中的所有詳細信息 。
內部mysite/目錄是您的項目的實際Python包。它的名字是您需要用來導入其中的任何內容的Python包名稱(例如mysite.urls)。
mysite/__init__.py:一個空的文件,告訴Python這個目錄應該被認為是一個Python包。如果您是Python初學者,請閱讀官方Python文檔中有關軟件包的更多信息。
mysite/settings.py:此Django項目的設置/配置。 Django設置會告訴你所有關於設置的工作原理。
mysite/urls.py:該Django項目的URL聲明; 您的Django動力網站的“目錄”。您可以在URL調度程序中閱讀有關URL的更多信息。
mysite/wsgi.py:WSGI兼容的Web服務器為您的項目提供服務的入口點。有關詳細信息,請參閱如何使用WSGI進行部署。
3、開發服務器
我們來驗證您的Django項目的作品。更改為外部mysite目錄,如果您還沒有,並運行以下命令:
$ python manage.py runserver
啟動信息
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.
May 20, 2017 - 15:50:53
Django version 1.11, using settings ‘mysite.settings‘
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
您已經開始使用Django開發服務器,這是一個純粹以Python編寫的輕量級Web服務器。我們將其與Django結合在一起,因此您可以快速開發,而無需處理配置生產服務器(如Apache)。
現在服務器正在運行,請使用Web瀏覽器訪問http://127.0.0.1:8000/。您會看到一個“歡迎來到Django”頁面,在愉快的,淺藍色的粉彩中。有效!
改變端口
默認情況下,該runserver命令在端口8000的內部IP上啟動開發服務器。
如果要更改服務器的端口,請將其作為命令行參數傳遞。例如,此命令啟動端口8080上的服務器:
$ python manage.py runserver 8080
如果要更改服務器的IP,請將其與端口一起傳遞。例如,要監聽所有可用的公共IP(如果您正在運行Vagrant或想要在網絡上的其他計算機上炫耀您的工作),請使用:
$ python manage.py runserver 0:8000
0是0.0.0.0的快捷方式。開發服務器的完整文檔可以在參考文獻中找到runserver。
自動重裝 runserver
開發服務器根據需要自動為每個請求重新加載Python代碼。您不需要重新啟動服務器以使代碼更改生效。但是,一些操作(如添加文件)不會觸發重新啟動,因此在這些情況下您必須重新啟動服務器。
4、Creating the Polls app
現在,您的環境 - 一個“項目” - 已經建立起來,您將開始做工作。
您在Django中編寫的每個應用程序都包含遵循一定約定的Python包。Django自帶一個實用程序,可以自動生成應用程序的基本目錄結構,因此您可以專註於編寫代碼而不是創建目錄
您的應用程序可以生活在Python路徑的任何位置。在本教程中,我們將在您的manage.py 文件旁邊創建我們的投票應用程序,以便它可以作為自己的頂級模塊導入,而不是子模塊mysite。
要創建您的應用程序,請確保您與目錄位於同一目錄,manage.py 並鍵入以下命令:
$ python manage.py startapp polls
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
5、Write your first view
我們來寫第一個看法。打開文件polls/views.py 並放入以下Python代碼:
polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You‘re at the polls index.")
這是Django中最簡單的視圖。要調用視圖,我們需要將其映射到一個URL , 為此,我們需要一個URLconf。
要在polls目錄中創建一個URLconf,創建一個名為urls.py。您的應用目錄應該如下所示:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
在polls/urls.py文件中包含以下代碼:
polls/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r‘^$‘, views.index, name=‘index‘),
]
下一步是將根URLconf指向polls.urls模塊。在 mysite/urls.py添加一條import用於django.conf.urls.include和插入include()的urlpatterns列表:
mysite/urls.py
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),
]
該include()函數允許引用其他URLconfs。請註意,該include()函數的正則表達式 沒有$(字符串匹配字符),而是尾部的斜杠。每當Django遇到 include()時,它會排除與該點匹配的任何部分,並將剩余的字符串發送到隨附的URLconf進行進一步處理。
背後的想法include()是使即插即用的URL變得容易。由於polls是在自己的URLconf(polls/urls.py)中,它們可以被放置在“/ polls /”下面,或者在“/ fun_polls /”下面,或者在“/ content / polls /”或其他路徑根目錄下,工作。
6、何時使用 include()
include()當您包含其他網址格式時,您應始終使用。 admin.site.urls是唯一的例外。
不符合你的看法?
如果您只是看到,include(admin.site.urls)而 admin.site.urls您可能正在使用與本教程版本不符的Django版本。您將需要切換到較舊的教程或較新的Django版本。
您現在已將index視圖連接到URLconf中。讓它驗證它的工作,運行以下命令:
$ python manage.py runserver
在瀏覽器中轉到http:// localhost:8000 / polls /,您應該看到文本“ Hello,world ***”。
7、url()函數傳遞四個參數,兩個必需:regex和view,和兩個可選:kwargs,和name。在這一點上,值得審查這些論據。
url()參數:正則表達式
術語“正則表達式”是一種常用的短格式,意思是“正則表達式”,它是用於匹配字符串中的模式的語法,或者在這種情況下是URL格式。Django從第一個正則表達式開始,並將其放在列表中,將請求的URL與每個正則表達式進行比較,直到找到匹配的一個。
請註意,這些正則表達式不搜索GET和POST參數或域名。例如,在請求中 https://www.example.com/myapp/,URLconf將尋找myapp/。在請求中https://www.example.com/myapp/?page=3,URLconf也會查找myapp/。
如果您需要正則表達式的幫助,請參閱re模塊文檔。實際上,您不需要是正則表達式的專家,因為您只需要知道如何捕獲簡單的模式。實際上,復雜的正則表達式的查找性能會很差,所以你可能不應該依靠正則表達式的全部功能。
最後,一個性能說明:這些正則表達式是第一次加載URLconf模塊時被編譯。它們超級快
url()參數:視圖
當Django找到一個正則表達式匹配時,Django會調用指定的視圖函數,其中一個HttpRequest對象作為第一個參數,任何來自正則表達式的“捕獲”值作為其他參數。如果正則表達式使用簡單的捕獲,則值作為位置參數傳遞; 如果它使用命名捕獲,則值作為關鍵字參數傳遞。我們稍後會給出一個例子。
url()參數:kwargs
任意關鍵詞參數可以在字典中傳遞到目標視圖。我們不會在教程中使用Django的這個功能。
url()參數:名稱
命名您的URL可讓您從Django其他地方明確地引用它,特別是在模板中。這個強大的功能可讓您全面更改項目的URL模式,同時只觸摸單個文件。
8、Django 官方文檔:
https://docs.djangoproject.com/en/1.11/
本文出自 “無言的對白” 博客,請務必保留此出處http://chbinmile.blog.51cto.com/6085145/1928145
Django快速安裝以及創建我的第一個Django項目