1. 程式人生 > >django模組學習

django模組學習

首先學習如何建立一個django工程。

下面就 舉個例子。
通過這個幫助文件 。我們將一起走一下建立application的過程。

主要包含下面兩個部分:
1: 一個向外網提供服務的網站。
2:一個後臺管理網站。

我們假設已經安裝了django模組。(
比如)你可以通過命令列檢視django是否安裝,並且安裝的是什麼版本。
windows命令    python -m django --version


如果已經安裝了,你就可以檢視到你安裝的版本,如果沒有就會有一個提示

( 注意一下,老哥我安裝了兩個版本的,所以可以進行測試。)
這個幫助文件是用來寫給django大版本2.1的,這個版本支援3.5及其以後的python版本。如果你的django版本不匹配,你可以在文件的後面檢視如何進行版本更替或者是更新到最新的版本。如果你正在用一個比較舊的版本。可以去下載對應版本的python。


官網幫助連線
看如果要進行安裝和解除安裝,可以檢視網站

下面就要開始建立一個專案。

如果你已經安裝了django,你必須注意一下建立的一些事項。首先是,
我們需要通過命令建立專案並自動生成一些程式碼。這個很重要。
setings裡面包含了Django專案的所有的配置,包括資料庫配置,可選項,還有一些預設配置。

從命令列中cd到你想要建立專案的目錄下。然後輸入下面的程式碼。

django-admin startproject mysite

這樣就可以在當前目錄下面建立一個mysite目錄。如果命令列沒有生效,可以檢視。幫助文件

 
上面就是我們建立好的,然後檢視到的 sitecrapy專案。

需要注意的是,我們命名project的時候必須避免和python的內建模組或者是django的元件重名。
特別強調的是,我們在命名的時候應該特別的注意需要避免命名為django(這個將會和自身衝突)
或者test(會和python內建的模組名衝突。)

上面的這些在我們python編碼的時候也是應該注意的。

那麼建立後的程式碼應該是怎樣的存放的呢。如果你有使用php的經歷,你可能會和websevice放到一起,(/var/www)。但是在Django中,你不需要那麼做,將嗲嗎放在web伺服器的根目錄中是不好的,因為這樣就有可能將你的程式碼暴露在人們的視野中。所以保密性就不是那麼的好了。

 上面的注意事項都說完了,那麼建立後的目錄的結果是什麼樣的呢。

分別介紹一下這些檔案個字代表的含義。

最外面的sitecarpy就是包含整個專案的檔案目錄,這個和你的Django沒有關係,你可以重新命名為任何你想要命名的名字。

mange.py: 一個可以可以讓你通過命令列與你的專案進行各種各樣互動的檔案。你可以自行閱讀這裡面的一切。
拓展文件 
這個有空一定要看,紅字警告。

在內部的sitecrapy目錄就是你真正的python專案。這個名字就是你以後以後需要引用這裡面檔案時候的模組名。
比如說 (sitecrapy.urls)

sitecrapy.__init__.py:這是一個空的檔案,這個作用就是高數python編譯器,你需要把我這個目錄當成一個模組。如果你是一個python的初學者。可以查閱相關的python有關package的文件。文件連結(這個也是必讀)

sitecrapy/settings.py:django專案的設定配置,工作原理文件

sitecrapy/urls.py: 這個url聲明瞭可以通過裡面的目錄進行訪問。url分配器文件  這個也是必看

 sitecrapy/wsgi.py:文件.主要是為wsgi相容的web伺服器專案的切入點。

執行服務 python mamage.py runserver

 執行上面的指令將會輸出下面的內容。


上面提示我們缺少15個數據項。現在不管,後面再說。

然後我們已經啟動好了我們的服務,然後可以通過訪問連結,獲取資料。這個web伺服器是一個基於python的輕量級的網路伺服器。我們已經建立好了伺服器,所以我們就可以通過不需要apache伺服器,就能快速的進行開發。除非,你已經為這個產品準備好了伺服器。

tips:不要用在產品上,這個僅僅是用來開發框架(這個提供的是建立web的頁面,而不是web伺服器。)

既然我們已經啟動了伺服器,就可以通過地址訪問。如果你看到了下面的介面,恭喜你,你成功了。

 

修改埠:
    預設的我們是使用8000埠,如果你想要修改伺服器埠,就可以通過命令列傳入一個引數。比如說,我們要在8080埠上進行監聽。那麼就傳入 
    python manage.py runserver 8080

修改ip地址
    可以通過埠一起傳過去。比如,去監聽所有公共ip,想要訪問8080埠的(這個在你想要在其他電腦上展示你的作品的時候,非常有用)
    
python manage.py runserver 0:8080
0是ip地址0.0.0.0的縮寫。

這個是runserver的幫助文件,建議檢視。  連結

伺服器自動啟動。如果可能,server會為每一個request請求自動的過載python程式碼。所以如果你修改了程式碼,不需要進行重啟。但是,如果你進行了其他操作比如新增檔案,這些是不會觸發重啟的,所以你必須得重啟這個伺服器。
如果在linux中使用我們可以通過訊號的方式進行(說明)過載,而不是定時。

-6 指的是ipv6

 接下來就是建立一個web專案  app

工程和app之間的關係:
    兩者之間的差異:app是有具體工作的,可以理解為軟體。工程就是一個特殊網站的配置和app的集合。
    工程  m:n  app
    一個工程多個app組成,一個app存於多個工程。

Django提供了一個搞笑快捷的方式自動建立基本的程式碼和app的 結果。這樣就可以專注程式碼而不是建立目錄這些工作。 

django-admin startapp --template=https://github.com/githubuser/django-app-template/archive/master.zip myapp

我們可以通過這個命令進行拷貝,--template可以是號檔案路徑也可以是urls。

 你的app可以放在任何python目錄下。也就是說,我們將在mamge.py檔案的同等級目錄下建立一個poll app(因為個人的 模組是需要同目錄下才可以引用的)。這樣才能在倒入和同在同樣層次的模組。而不是sitescapy的同等級的子模組。

下面就是開始建立:
1:和manage.py在同一個目錄下。       python manage.py startapp pools
    然後回自動建立一些檔案和資料夾

2:開始寫介面:
   我們開啟polls的views.py並且寫入下面的程式碼。

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

這個是django專案中最簡單的view了。為了能夠呼叫這個view,我們需要把它對映到URL中-因此,我們需要用到URLconfig。
為了在polls目錄下建立一個URLconfig檔案,建立了一個檔名字叫urls.py的檔案。然後你的目錄結構應該是這樣的。

在urls.py中,應該是下面的程式碼。

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

path的name屬性

給自己當前的URL命名,可以讓你在其他地方很明顯的呼叫。尤其是在模版裡面。這個強大的特性可以讓你在一個檔案裡面給所有的全域性URL賦值。