溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django快速安裝以及創(chuàng)建我的第一個Django項(xiàng)目

發(fā)布時間:2020-07-10 11:05:31 來源:網(wǎng)絡(luò) 閱讀:932 作者:無言地對白 欄目:建站服務(wù)器

特別說明:本文是針對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文件,然后一直點(diǎn)擊"Next"按鈕即可。

    安裝完成后你需要設(shè)置Python環(huán)境變量。 右擊計算機(jī)->屬性->高級->環(huán)境變量->修改系統(tǒng)變量path,添加Python安裝地址,本文實(shí)例使用的是C:\Python34,你需要根據(jù)你實(shí)際情況來安裝。

如果是linux系統(tǒng)請下載Python-3.x.x.tgz安裝包自行安裝。


5、Django 安裝

 A、×××安裝

   將Django 壓縮包解壓并和Python安裝目錄放在同一個根目錄,進(jìn)入 Django 目錄,執(zhí)行python setup.py install,然后開始安裝,Django將要被安裝到Python的Lib下site-packages。

C:\Python34\Lib\site-packages

然后是配置環(huán)境變量,將這幾個目錄添加到系統(tǒng)環(huán)境變量中: C:\Python33\Lib\site-packages\django;C:\Python33\Scripts。 添加完成后就可以使用Django的django-admin.py命令新建工程了

檢查是否安裝成功

python -m django --version 或者,

>>> import django

>>> print django.get_version()

如果Django已經(jīng)安裝,你應(yīng)該看到安裝的版本。 如果還沒有安裝,你會看到一個“No module named django”的錯誤。

B、pip命令在線安裝

    第一步需要安裝pip命令

       下載pip命令,解壓切換到pip文件夾,python setup.py install安裝,然后就可以使用pip命令了。

        pip install Django==1.11.1

6、關(guān)于如何刪除舊版本的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__)"

安裝就到此結(jié)束了。


二、創(chuàng)建一個project

1、Creating a project

django-admin startproject mysite

注意:您將需要避免在內(nèi)置Python或Django組件后命名項(xiàng)目。特別是,這意味著你應(yīng)該避免使用像djangoDjango本身這樣的名字 (或者test與內(nèi)置的Python包沖突)


2、mysite項(xiàng)目中文件說明

mysite/

    manage.py

    mysite/

        __init__.py

        settings.py

        urls.py

        wsgi.py


  • 外部mysite/根目錄只是一個項(xiàng)目的容器。它的名字與Django無關(guān); 您可以將其重命名為您喜歡的任何內(nèi)容。

  • manage.py:一個命令行實(shí)用程序,可以讓您以各種方式與此Django項(xiàng)目進(jìn)行交互。您可以閱讀django-admin和manage.pymanage.py中的所有詳細(xì)信息 。

  • 內(nèi)部mysite/目錄是您的項(xiàng)目的實(shí)際Python包。它的名字是您需要用來導(dǎo)入其中的任何內(nèi)容的Python包名稱(例如mysite.urls)。

  • mysite/__init__.py:一個空的文件,告訴Python這個目錄應(yīng)該被認(rèn)為是一個Python包。如果您是Python初學(xué)者,請閱讀官方Python文檔中有關(guān)軟件包的更多信息。

  • mysite/settings.py:此Django項(xiàng)目的設(shè)置/配置。 Django設(shè)置會告訴你所有關(guān)于設(shè)置的工作原理。

  • mysite/urls.py:該Django項(xiàng)目的URL聲明; 您的Django動力網(wǎng)站的“目錄”。您可以在URL調(diào)度程序中閱讀有關(guān)URL的更多信息。

  • mysite/wsgi.py:WSGI兼容的Web服務(wù)器為您的項(xiàng)目提供服務(wù)的入口點(diǎn)。有關(guān)詳細(xì)信息,請參閱如何使用WSGI進(jìn)行部署。

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

我們來驗(yàn)證您的Django項(xiàng)目的作品。更改為外部mysite目錄,如果您還沒有,并運(yùn)行以下命令:

$ 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.


您已經(jīng)開始使用Django開發(fā)服務(wù)器,這是一個純粹以Python編寫的輕量級Web服務(wù)器。我們將其與Django結(jié)合在一起,因此您可以快速開發(fā),而無需處理配置生產(chǎn)服務(wù)器(如Apache)。

現(xiàn)在服務(wù)器正在運(yùn)行,請使用Web瀏覽器訪問http://127.0.0.1:8000/。您會看到一個“歡迎來到Django”頁面,在愉快的,淺藍(lán)色的粉彩中。有效!


改變端口


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

如果要更改服務(wù)器的端口,請將其作為命令行參數(shù)傳遞。例如,此命令啟動端口8080上的服務(wù)器:

$ python manage.py runserver 8080

如果要更改服務(wù)器的IP,請將其與端口一起傳遞。例如,要監(jiān)聽所有可用的公共IP(如果您正在運(yùn)行Vagrant或想要在網(wǎng)絡(luò)上的其他計算機(jī)上炫耀您的工作),請使用:

$ python manage.py runserver 0:8000

0是0.0.0.0的快捷方式。開發(fā)服務(wù)器的完整文檔可以在參考文獻(xiàn)中找到runserver。

自動重裝 runserver

開發(fā)服務(wù)器根據(jù)需要自動為每個請求重新加載Python代碼。您不需要重新啟動服務(wù)器以使代碼更改生效。但是,一些操作(如添加文件)不會觸發(fā)重新啟動,因此在這些情況下您必須重新啟動服務(wù)器。


4、Creating the Polls app

現(xiàn)在,您的環(huán)境 - 一個“項(xiàng)目” - 已經(jīng)建立起來,您將開始做工作。


您在Django中編寫的每個應(yīng)用程序都包含遵循一定約定的Python包。Django自帶一個實(shí)用程序,可以自動生成應(yīng)用程序的基本目錄結(jié)構(gòu),因此您可以專注于編寫代碼而不是創(chuàng)建目錄


您的應(yīng)用程序可以生活在Python路徑的任何位置。在本教程中,我們將在您的manage.py 文件旁邊創(chuàng)建我們的投票應(yīng)用程序,以便它可以作為自己的頂級模塊導(dǎo)入,而不是子模塊mysite。


要創(chuàng)建您的應(yīng)用程序,請確保您與目錄位于同一目錄,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中最簡單的視圖。要調(diào)用視圖,我們需要將其映射到一個URL , 為此,我們需要一個URLconf。

要在polls目錄中創(chuàng)建一個URLconf,創(chuàng)建一個名為urls.py。您的應(yīng)用目錄應(yīng)該如下所示:

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()函數(shù)允許引用其他URLconfs。請注意,該include()函數(shù)的正則表達(dá)式 沒有$(字符串匹配字符),而是尾部的斜杠。每當(dāng)Django遇到 include()時,它會排除與該點(diǎn)匹配的任何部分,并將剩余的字符串發(fā)送到隨附的URLconf進(jìn)行進(jìn)一步處理。


背后的想法include()是使即插即用的URL變得容易。由于polls是在自己的URLconf(polls/urls.py)中,它們可以被放置在“/ polls /”下面,或者在“/ fun_polls /”下面,或者在“/ content / polls /”或其他路徑根目錄下,工作。



6、何時使用 include()


include()當(dāng)您包含其他網(wǎng)址格式時,您應(yīng)始終使用。 admin.site.urls是唯一的例外。

不符合你的看法?


如果您只是看到,include(admin.site.urls)而 admin.site.urls您可能正在使用與本教程版本不符的Django版本。您將需要切換到較舊的教程或較新的Django版本。


您現(xiàn)在已將index視圖連接到URLconf中。讓它驗(yàn)證它的工作,運(yùn)行以下命令:

$ python manage.py runserver


在瀏覽器中轉(zhuǎn)到http:// localhost:8000 / polls /,您應(yīng)該看到文本“ Hello,world ***”。


7、url()函數(shù)傳遞四個參數(shù),兩個必需:regex和view,和兩個可選:kwargs,和name。在這一點(diǎn)上,值得審查這些論據(jù)。

  • url()參數(shù):正則表達(dá)式

    術(shù)語“正則表達(dá)式”是一種常用的短格式,意思是“正則表達(dá)式”,它是用于匹配字符串中的模式的語法,或者在這種情況下是URL格式。Django從第一個正則表達(dá)式開始,并將其放在列表中,將請求的URL與每個正則表達(dá)式進(jìn)行比較,直到找到匹配的一個。

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

如果您需要正則表達(dá)式的幫助,請參閱re模塊文檔。實(shí)際上,您不需要是正則表達(dá)式的專家,因?yàn)槟恍枰廊绾尾东@簡單的模式。實(shí)際上,復(fù)雜的正則表達(dá)式的查找性能會很差,所以你可能不應(yīng)該依靠正則表達(dá)式的全部功能。

最后,一個性能說明:這些正則表達(dá)式是第一次加載URLconf模塊時被編譯。它們超級快


  • url()參數(shù):視圖

當(dāng)Django找到一個正則表達(dá)式匹配時,Django會調(diào)用指定的視圖函數(shù),其中一個HttpRequest對象作為第一個參數(shù),任何來自正則表達(dá)式的“捕獲”值作為其他參數(shù)。如果正則表達(dá)式使用簡單的捕獲,則值作為位置參數(shù)傳遞; 如果它使用命名捕獲,則值作為關(guān)鍵字參數(shù)傳遞。我們稍后會給出一個例子。


  • url()參數(shù):kwargs 

任意關(guān)鍵詞參數(shù)可以在字典中傳遞到目標(biāo)視圖。我們不會在教程中使用Django的這個功能。


  • url()參數(shù):名稱

命名您的URL可讓您從Django其他地方明確地引用它,特別是在模板中。這個強(qiáng)大的功能可讓您全面更改項(xiàng)目的URL模式,同時只觸摸單個文件。


8、Django 官方文檔:

https://docs.djangoproject.com/en/1.11/



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI