1. 程式人生 > >Django快速安裝以及創建我的第一個Django項目

Django快速安裝以及創建我的第一個Django項目

python框架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項目