web架構(一)之基礎簡介

來源:互聯網
上載者:User

標籤:www   table   python   讀取   資料   動態網頁   war   簡介   來源   

http的請求聲明周期:
網域名稱----DNS伺服器---IP地址---基於tcp協議的http協議發送請求協議,服務端返迴響應頭+響應體(我們所看到的頁面(是經過js渲染的,接收的是字串))
服務端(web服務)根據我們發送的url,對應不同的函數(路由系統)
不同的函數返回不同的資料:1每次都返回相同的字串:靜態網頁
2每次返回不同的字串:動態網頁
3從資料庫中讀取資料,用模板引擎渲染到html中(模板渲染replace)
4用第三方工具jinja2渲染模板(自動將資料庫中讀出的資料渲染到html中)

自己開發web架構:
socket
http協議 無狀態 短串連
html知識
資料庫(pymysql,sqlachemy)

http協議回顧:
瀏覽器(socket用戶端)
2. www.cnblogs.com(42.121.252.58,80)
sk.socket()
sk.connect((42.121.252.58,80))

sk.send(‘我想要xx‘)
5. 接收
6. 串連斷開



部落格園(socket服務端)
1. 監聽ip和連接埠(42.121.252.58,80)
while True:
使用者 = 等待使用者串連
3. 收到‘我想要xx‘
4. 響應:“好”
使用者斷開

自己寫網站:
1 socket服務端
2 根據url不同返回不同的內容
路由系統:url----函數
3 字串返回使用者
模板引擎渲染:html充當模板,資料庫是來源,jinja2第三方渲染工具
自己創造任一字元串
web架構:
分類方式一:
- 1,2,3 tornado
- [第三方1],2,3 django---wsgiref
- [第三方1],2,[第三方3] flash
分類方式二:
- Django
- 其他


django架構:
安裝:pip3 install django
# 建立Django程式
django-admin startproject mysite
# 進入程式目錄
cd mysite
# 啟動socket服務端,等待使用者發送請求
python manage.py runserver 127.0.0.1:8080
程式目錄簡介:
mysite
mysite
- settings.py # Django設定檔
- url.py # 路由系統:url->函數
url 對應關係:
/login/ login
def login(request):
request.method
request.POST
request.GET
- wsgi.py # 用於定義Django用socket, wsgiref,uwsgi
manage.py # 對當前Django程式所有操作可以基於 python manage.py runserver

初始操作:
1 建立project
2 寫設定檔:
- 模板路徑:template目錄
TEMPLATES=[‘DIRS‘: [os.path.join(BASE_DIR, ‘template‘)],]
- 靜態檔案路徑:static目錄
STATIC_URL = ‘/static/‘
STATICFILES_DIRS = (
os.path.join(BASE_DIR,‘static‘),
)
- 其他配置:
MIDDLEWARE = [
#‘django.middleware.csrf.CsrfViewMiddleware‘,]




靜態網站 : 訪問相同的網域名稱,看到相同的內容

GET請求 ---------》只有request.GET
POST請求-------》 request.GET和request.POST都可能有值

模板引擎中的特殊標記:
<p>{{ name }}</p>
<p>{{ users.0 }}</p>
<p>{{ users.1 }}</p>
<p>{{ user_dict.k1 }}</p>
<p>{{ user_dict.k2}}</p>
<table>
{% for row in user_list_dict %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.name}}</td>
<td>{{ row.email }}</td>
<td>
<a>編輯</a> | <a href="/del/?nid=row.id">刪除</a>
</td>
</tr>
{% endfor %}

web架構(一)之基礎簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.