[python網站開發] 一.Django入門知識及建立第一個網站
隨著Python應用越來越廣泛,學習Python相關知識越來越多的人選擇。最新研究,Python已成為美國top高校最受歡迎的語言,同時國內用Python開發的網站越來越多,比較知名的網站如知乎、豆瓣、果殼等,再加上之前自己資料分析和網路爬蟲一直使用的是Python,對它比較熟悉,所以這系列文章將講述Python搭建網站,後面會結合資料分析視覺化進行深入研究。
Python有許多款不同的Web框架,包括:Pylons、Tornado、Django、Bottle、Flask等,而Django是最有代表性的一個,也可認為是Python框架中最好的、文件最完善、市場佔有率最高的框架,許多成功的網站和APP都基於Django技術的。
下面從入門開始講解,同時Django相關資料也比較多,寫得比我好的很多,而我這系列主要結合例項和自己的體驗進行講解,後面資料分析相關知識的加入也是這篇文章的昇華,希望對你有所幫助,如果文章中存在錯誤或不足之處,還請海涵。
一. Django入門知識
Django是一個開放原始碼的Web應用框架,由Python寫成,Django採用了MVC的軟體設計模式,即模型M,檢視V和控制器C。
百度百科-MVC
MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在一個邏輯的圖形化使用者介面的結構中。常見框架:Struts、Spring等。
Django-MTV
這部分內容直接引用部落格園feixuelove大神的敘述,講解得真的很好,強烈推薦閱讀。
簡約而不簡單的Django新手圖文教程 - feixuelove
MVC其實就是把不同型別的檔案放到不同的目錄下的一種方法,然後取了個高大上的名字。當然,它帶來的好處有很多,比如前後端分離,鬆耦合等等。
1.模型(model):定義資料庫相關的內容,一般放在models.py檔案中。
2.檢視(view):定義HTML等靜態網頁檔案相關,那些html、css、js等前端的東西。
3.控制器(controller):定義業務邏輯相關,就是你的主要程式碼。
MTV: 有些WEB框架覺得MVC的字面意思很彆扭,就給它改了一下。view不再是HTML相關,而是主業務邏輯了,相當於控制器。html被放在Templates中,稱作模板,於是MVC就變成了MTV。這其實就是一個文字遊戲,和MVC本質上是一樣的,換了個名字和叫法而已,換湯不換藥。
目錄分開,就必須有機制將他們在內裡進行耦合。在Django中,urls、orm、static、settings等起著重要的作用。一個典型的業務流程是如下圖所示:
PS:這部分內容本來想自己寫的,但是feixuelove大神寫得更好,同時自己體會不是很深,所以直接引用了。相信自己做得多以後,能用自己的理解進行總結,如果該部分侵權,立刻刪除。
二. 安裝及配置Django
PIP指令
easy_insall的作用和perl中的cpan,ruby中的gem類似,提供了線上一鍵安裝模組的傻瓜方便方式,而pip是easy_install的改進版,提供更好的提示資訊,刪除package等功能。常見的具體用法如下:
easy_install的用法:
1) 安裝一個包
$ easy_install <package_name>
$ easy_install "<package_name>==<version>"
2) 升級一個包
$ easy_install -U "<package_name>>=<version>"
pip的用法
1) 安裝一個包
$ pip install <package_name>
$ pip install <package_name>==<version>
2) 升級一個包 (如果不提供version號,升級到最新版本)
$ pip install --upgrade <package_name>>=<version>
3)刪除一個包
$ pip uninstall <package_name>
也在官網下載,下載地址:https://www.djangoproject.com/作者安裝的版本:(pip list指令檢視)
Python 2.7.8
Django 1.11.2
安裝Django
通過cd去到Python的Scripts資料夾下,然後呼叫pip指定進行安裝。
pip install django
執行結果如下圖所示,它在CMD環境下自動下載安裝。安裝成功後,在Scripts目錄下存在django-admin.py的檔案。
在Scripts資料夾下輸入: django-admin.py,檢視命令的介紹。
下面部分講解如何建立一個Python網站專案。
三. 建立第一個專案及詳解
第一步 建立專案HelloWorld
通過呼叫django-admin.py檔案中的startproject命令進行安裝。
django-admin.py startproject HelloWorld
然後在Scripts資料夾下生成專案HelloWorld,如下圖所示。
CMD中cd命令去到資料夾,dir命令顯示目錄下檔案,tree命令顯示路徑。
第二步 runserver啟動專案伺服器
接下來進入HelloWorld專案,並輸入如下命令,啟動專案伺服器。
python manage.py runserver 9090
其中9090為埠號,如Java網站的8080埠等。然後通過瀏覽器方位127.0.0.1:9090,顯示It worked表示配置成功。
第三步 介紹專案的各個檔案及作用
參考RUNOOB網站對Django幾個檔案的進行介紹,目錄如下:
|-- HelloWorld
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
|
`-- db.sqlite3
`-- manage.py
說明如下:- HelloWorld: 專案的容器。
- manage.py: Django管理主程式。一個實用的命令列工具,可讓你以各種方式與該 Django 專案進行互動。
- __init__.py: 空檔案。告訴Python該目錄是一個Python包。
- settings.py: 主配置檔案。該Django專案的設定/配置。
- urls.py: URL路由檔案。Django專案的URL宣告,一份由Django驅動的網站"目錄"。
- wsgi.py: 網路通訊介面。一個WSGI相容的Web伺服器的入口,以便執行你的專案。
用Sublime開啟如下所示:
第四步 建立檢視views.py檔案
在HelloWorld目錄下建立一個views.py檔案,用於書寫業務處理邏輯。
#-*- coding:utf-8 -*-
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world, My name is Eastmount!")
自定義hello方法,引數request固定的,用於返回HttpResponse。第五步 配置URL
修改urls.py檔案內容,將訪問的內容改為views.py檔案中的hello函式。
如下所示:
"""HelloWorld URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from views import *
urlpatterns = [
url(r'^$', hello),
]
程式碼需要匯入views檔案內容,才能引用hello方法。views.py檢視檔案在編譯後會產生對應的views.pyc檔案。然後啟動Django伺服器,在瀏覽器中訪問即可,如下圖所示:
推薦資料:
簡約而不簡單的Django新手圖文教程 - feixuelove(強烈推薦)
Django建立第一個專案 - Runoob
https://www.djangoproject.com/
Python Django入門教程 - 百度文庫
希望文章對你有所幫助,如果文章存在錯誤或不足之處,還請海涵。
加油,秀璋。綠妖,晚安!
(By:Eastmount 2017-06-27 晚上12點 http://blog.csdn.net/eastmount/ )
相關文章
- django 開發網站-建立 django 專案Django網站
- Pelican 入門:一個 Python 靜態網站生成器Python網站
- 我的第一個網站網站
- 如何建立一個 WordPress 網站網站
- 10步寫了個Django網站,正經網站···Django網站
- 【入門必看】Python有有哪些好用的網站開發框架?Python網站框架
- 知識分享的網站網站
- 【知識分享】站長加固網站安全的幾個方法網站
- 如何免費建立一個網站?網站
- 怎麼用python django做網站?PythonDjango網站
- 如何建立一個快速的Joomla網站OOM網站
- Python如何開發網站?這兩個不能少!Python網站
- [新手開發記錄] 新建一個網站網站
- Tomcat配置及網站建立教程(IDEA)Tomcat網站Idea
- Python開發網站的完整指南Python網站
- 網站開發製作需要了解哪些基礎知識網站
- 【SEO知識】網站發文秒收錄技巧網站
- 專業建站網站 網站建設 網站開發 官網開發 網頁設計 網頁網站網頁
- PyCharm入門第一步(四):建立和執行第一個Django專案PyCharmDjango
- 如何使用gohugo/hugo建立一個靜態網站?Go網站
- 如何建立個人網站?先分享一下網站
- 網站原始碼的相關知識網站原始碼
- django 網站地圖 sitemapDjango網站地圖
- Python識別網站驗證碼Python網站
- python 驗證碼識別示例(一) 某個網站驗證碼識別Python網站
- 發現了網站一個問題網站
- B站excel學習第一課入門Excel
- Python有哪些好用的網站開發框架?Python網站框架
- python網站開發哪些框架比較好用?Python網站框架
- Django建立第一個專案Django
- 建立第一個django專案Django
- 網站安全相關的基礎知識網站
- 網站組成部分基礎知識分享網站
- 目標網站反爬基礎知識網站
- 網站修改二次開發,網站二次開發流程網站
- Django+nginx+靜態網站DjangoNginx網站
- 自己公司網站開發網站
- 個人網站和部落格賺錢方式 (如何把WordPress網站變成一門生意)網站
- 網站搭建費用,搭建一個網站需要多少資金?網站