Python基本觀念與變數

圖片
本章參考: 王者歸來 做的筆記 一、Python認識  1.Python是一種Interpreted language、Object Oriented Language的程式語言,並擁有完整的函數庫。 2.Python算是一種動態高階語言,具有Garbage collection機制。 3.Python是一個Open Source,並且本身有許多package或module。 二、靜態語言與動態語言 1.variable是一個語言核心,由變數的設定可以知道這個程式所要完成的工作;variable分成static language與dynamic language 2.有些程式語言的variable在使用前需要宣告他的資料型態,這樣compile可在記憶體內預留空間給variable。同時,這個變數的資料型態經過宣告後,未來無法再改變他的資料型態,這類的程式語言稱static language 3.variable在使用前不必宣告他的資料型態,其特色不用經過compile過程,而是使用interpreter直接interpret與execute,這類的程式語言稱dynamic language(scripting language、glue code) 4.實際案例,利用Python列出變數的位址,相同的內容的變數會有相同的位址。 5.刪除變數,雖然python變數宣告很方便,但有時候宣告過多,執行起來會有點小卡,因此可以刪除變數                                                      del 變數名稱

Django練習- django的網頁架設之基本觀念

 本篇是參考:

Python Web 介面開發與自動化測試

首先,要學習django前,要先部署環境,而部署環境的方式,google大神有很多教導安裝django的環境(請自行google)

學習本專案建議先有基礎的python概念,基礎的terminal操作(基礎就可以了)

本練習為了方便,統一用python ~做指令操作,若是你的python版本為3以上,請用

python3 ~

首先,先用terminal創立一個專案:

django-admin startproject guest                                                             #建立guest專案

 此刻,你就會看到你的專案建立起來,專案裡面有:

如果你guest,就會看到裡面的檔案有:


介紹每個檔案的用途:

    1、_ini_.py:識別一個目錄為Python的標準套件。
    2、settings.py:專案設定檔(資料庫配置、應用程式配置、範本配置)
    3、urls.py:專案的url宣告
    4、wsgi.py:與WSGI相容的web伺服器為你專案提供服務入口
    5、manage.py:命令列工具,主要用於專案互動

先測試你的django能否運行:
python manage.py runserver                                                                                     
輸入127.0.0.1:8000,就可以看到運行的畫面為

基本觀念說明:

    URL(Uniform Resource Locator)-統一資源定位器“,正確的學術名詞是網域名稱 (Domain name),而白話的說法,就是網站地址,大家常講的網址。網址就像是每個人家裡的地址一樣,要知道對方正確的地址,才能夠到達對方的位置,網址的樣式大部分如同這樣 https://www.design-hu.com/。x

更多詳細資訊與資料來源:

換句話說,在設定專案時,要先登記網路的位址(類似戶口名簿概念),在url.py中,通常表達方式為:

path('網路地址', 網路資源),

比如:地址是:台中市大雅區~     資源:王小明負責

    WSGI 是作為 Web 伺服器與 Web 應用程式或應用框架之間的一種低階別的介面,以提升可移植 Web 應用開發的共同點。WSGI 是基於現存的 CGI 標準而設計的。很多框架都自帶了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。當然效能都不好,自帶的 web server 更多的是測試用途,釋出時則使用生產環境的 WSGI server或者是聯合 nginx 做 uwsgi 。也就是說,WSGI就像是一座橋樑,一邊連著web伺服器,另一邊連著使用者的應用。但是呢,這個橋的功能很弱,有時候還需要別的橋來幫忙才能進行處理。

更多詳細資源:https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/362704/

整理一些常用的manage.py的互動指令:

1.建立專案:

django-admin startproject 專案名稱                                                                             

2.建立專案的應用程式:

python manage.py startapp 應用程式                                                                            

3.資料模型的轉移:

python manage.py migrate                                                                                         

4.當資料轉移成功,就可以自動生成後台:

python manage.py createsuperuser                                                                             

5.負責根據對資料模型所做的更改來創建新的遷移:

python manage.py makemigrations 應用程式                                                                

6.啟動你的專案

python manage.py runserver                                                                                     

開始建立你的應用程式

進入你的專案,建立一個sign(登入)的應用程式

python manage.py startapp sign                                                                            

進入你的應用程式,你就會看到以下檔案

介紹每個檔案用途:

    1、_ini_.py:識別一個目錄為Python的標準套件。
    2、models.py:資料庫的模型配置,建立應用程式資料表模型(對應資料庫的相關操作)
    3、admin.py:對映models中的資料到django內建的admin
    4、migrations.py:紀錄models中資料庫的變更
    5、test.py:建立測試案例
    6、views.py:視圖檔,控制像前端頁面顯示內容

關係:
    資料庫-models.py、admin.py、migrations.py
    測試-test.py
    視圖-views.py

針對views.py,我個人喜歡將它定義成 “功能設計”

專案設定

打開guest/setting.py,到下方的installed_apps加入你需要新增的應用程式

# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sign',
]
setting想像成,你要製作登入系統時,你需要一個環境配置,並給予他一個具有登入的環境配置。

在網頁設計中,我簡單的把他思考:
1、提供環境                         -setting.py        
2、提供網路位址                   -urls.py
3、提供網路的功能                -views.py

環境設定好了,我們要提供網路的位址,到urls.py加入你的網路位址
path('index/', views.index),
但是問題來了,我們定義了urls,卻沒有真的把sign放進來,所以,我們需要將他放進這個位址,告訴urls,我們真的有這個功能要做。
(總不能告訴urls說,我要做這個功能,但是卻沒有著功能的資源去部署上去吧~)
所以,到urls上加入
from sign import views #匯入sign應用程式到views檔
基本上,到這裡你的網路位址做好了

最後,我們要思考,這個位址要提供什麼功能?
於是,我們到views.py裏新增一個函式:
def index(request):
問題來了,要怎麼顯示?
先用最簡單的,基本網頁回覆,所以,先導入:
from django.http import HttpResponse #基本的伺服器回復
然後到你的功能區放入你的函式:
def index(request):
return HttpResponse("Hello Django") #直接伺服器回復
確定完三項的目標後,開始啟動你的django  
python manage.py runserver                                                                                     

最後你輸入:http://127.0.0.1:8000/index
可以看到:

但是,問題來了!
我要如何導入我美美的網頁?
假設我有一個網頁,叫做index.html
問題來了,我要怎麼將它放入?

放入環境?
這是登入頁面,直接放入環境也大才小用了
放入位址?
都有定義sign的功能,在做一個index?

所以,當然放入功能!
如同戶口名簿,你登記你家是便利超商,你當然在你家的超商做超商功能啊~
既然要導入美美的網頁,我們要先在sign內建立一個template資料夾。
並將index.html放入資料夾內,在上面隨意輸入你的前端語法
<html>
<head>
<title>Django Page</title>
</head>
<body>
<h1>大家好~</h1>
</body>
</html>
此刻,打開views.py將你的功能重新編寫:
def index(request):
return render(request,"index.html")
確定完成後,開始啟動你的django  
python manage.py runserver                                                                                     

最後你輸入:http://127.0.0.1:8000/index
可以看到:

介紹:HTTP、REQUEST、RESPONSE

Client & Server
在傳遞資訊的兩端我們稱之為「客戶端(Client)」、「伺服器端(Server)」
客戶端(Client)
以網頁來說就是你的瀏覽器(Browser),會發出「請求 Request」傳遞到 Server 端。
伺服器端(Server)
收到 Request 後,會開始處理資料,然會回傳「回應 Response」到 Client 端。

詳細資料來源:

所以,針對前端的功能設計,我們需要會發出「請求 Request」傳遞到 Server 端。








留言

這個網誌中的熱門文章

CentOS 7快速架站心得與過程

直播的基礎架設

Ubuntu16.04上的Snort 2.9.11 +base