日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 网络服务器框架_Django是Python下的一款网络服务器框架

發布時間:2023/12/2 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 网络服务器框架_Django是Python下的一款网络服务器框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django是Python下的一款網絡服務器框架。Python下有許多款不同的框架。Django是重量級選手中最有代表性的一位。許多成功的網站和APP都基于Django。雖然Django之于Python,達不到Rail之于Ruby的一統江湖的地位,但Django無疑也是Python在網絡應用方面的一位主將。

向昆汀的致敬,“被解放的姜戈”

Django意外的和昆汀的電影重名。這大大提高了Django的知名度。另外利用電影,宣傳了這個奇怪的詞的發音。

下面是Django的初體驗。

安裝Django

啟動計算機中的Python,嘗試載入Django模塊。如果可以成功載入,那么說明Django已經安裝好:

importdjangoprint(django.VERSION)

如果Django還沒有安裝,可以在命令行,嘗試使用pip安裝:

sudo pip install django

或者使用easy_install:

sudo easy_install django

啟動

使用下面的命令創建項目:

django-admin.py startproject mysite

在當前目錄下,將生成mysite文件夾。其文件樹結構如下:

mysite

├── manage.py

└── mysite

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

1 directory, 5 files

進入mysite,啟動服務器:

python manage.py runserver 8000

上面的8000為端口號。如果不說明,那么端口號默認為8000。

打開瀏覽器,訪問http://127.0.0.1:8000,可以看到服務器已經在運行:

雖然有一個能跑的服務器,但什么內容都沒有。

第一個網頁

在http協議中可以看到,網絡服務器是“請求-回應”的工作模式。客戶向URL發送請求,服務器根據請求,開動后廚,并最終為客人上菜。Django采用的MVC結構,即點單、廚房、儲藏室分離。

我們需要一個指揮員,將URL對應分配給某個對象處理,這需要在mysite/mysite下的urls.py設定。Python會根據該程序,將URL請求分給某個廚師。

mysite

├── manage.py

└── mysite

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

1 directory, 5 files

將urls.py修改為:

from django.conf.urls import patterns, include, url

from django.contrib import admin

admin.autodiscover()

urlpatterns= patterns('',

# Examples:

# url(r'^$', 'mysite.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'^$', 'mysite.views.first_page'),

)

我們添加了最后一行。它將根目錄的URL分配給一個對象進行處理,這個對象是mysite.views.first_page。

用以處理HTTP請求的這一對象還不存在,我們在mysite/mysite下創建views.py,并在其中定義first_page函數:

#-*- coding: utf-8 -*-

from django.http importHttpResponsedeffirst_page(request):return HttpResponse("

世界好

")

第一行說明字符編碼為utf-8,為下面使用中文做準備。first_page函數的功能,是返回http回復,即這里的

世界好

。first_page有一個參數request,該參數包含有請求的具體信息,比如請求的類型等,這里并沒有用到。

頁面效果如下:

增加app

一個網站可能有多個功能。我們可以在Django下,以app為單位,模塊化的管理,而不是將所有的東西都丟到一個文件夾中。在mysite下,運行manange.py,創建新的app:

$python manage.py startapp west

這個新的app叫做west,用來處理西餐。

我們的根目錄下,出現了一個新的叫做west的文件夾。

mysite/

├── manage.py

├── mysite

│?? ├── __init__.py

│?? ├── __init__.pyc

│?? ├── settings.py

│?? ├── settings.pyc

│?? ├── urls.py

│?? ├── views.py

│?? └── wsgi.py

└── west

├── admin.py

├── __init__.py

├── models.py

├── tests.py

└── views.py

我們還需要修改項目設置,說明我們要使用west。在mysite/setting.py中,在INSTALLED_APPS中,增加"west":

INSTALLED_APPS =('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','west',

)

增加APP頁面

我們下面為APP增加首頁。我們之前是在mysite/urls.py中設置的URL訪問對象。依然采用類似的方式設置。

另一方面,為了去耦合,實現模塊化,我們應該在west/urls.py中設置URL訪問對象。具體如下:

首先,修改mysite/urls.py:

from django.conf.urls importpatterns, include, urlfrom django.contrib importadmin

admin.autodiscover()

urlpatterns= patterns('',#Examples:

#url(r'^$', 'mysite.views.home', name='home'),

#url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'^$', 'mysite.views.first_page'),

url(r'^west/', include('west.urls')),

)

注意新增加的最后一行。這里,我們提醒指揮員,對于west/的訪問,要參考west/urls.py。

隨后,我們創建west/urls.py,添加內容:

from django.conf.urls importpatterns, include, url

urlpatterns= patterns('',

url(r'^$', 'west.views.first_page'),

)

將URL對應west下,views.py中的first_page函數。

最后,在west下,修改views.py為:

#-*- coding: utf-8 -*-

from django.http importHttpResponsedeffirst_page(request):return HttpResponse("

西餐

")

訪問http://127.0.0.1:8000/west,產看效果。

總結

可以看到,Django的創建過程非常簡單。但這只是初次嘗試Django。為了創建一個完整功能的網站,還需要調用Django許多其它的功能。Django的解放,才剛剛開始。

總結

以上是生活随笔為你收集整理的python 网络服务器框架_Django是Python下的一款网络服务器框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。