如何簡單便捷的搭建一個網站 - 基於Django


 

注:本文已遷移至CSDN,后續的更新也會在CSDN。

 

http://blog.csdn.net/houchaoqun_xmu/article/details/53693347

 

http://blog.csdn.net/houchaoqun_xmu

 

一、所需工具以及相關環境

 1. 系統:win7,win8.1,win10(親測可用 - 本文為win7,64位)

 2. 本文使用的版本是:

  1)python-2.7.11【百度雲盤分享:http://pan.baidu.com/s/1c25M2ty

  2)Django-1.6.11【百度雲盤分享:http://pan.baidu.com/s/1nvbbXWH

 

二、搭建開發環境(注:以下安裝過程中涉及到的路徑,根據用戶自身習慣而定)

 1. 安裝python:下載安裝包(如:python-2.7.11.msi),然后你只需要使用默認的設置,一直點擊“下一步”直到安裝完成即可。

  -- 配置環境變量:C:\My_softwares\Python27(根據自己安裝的路徑),如圖1.1所示。

  -- 檢測是否安裝成功:【ctrl + R】 --> 輸入【powershell(或者cmd)】--> 輸入【python】 --> 結果如圖1.2所示。

       

             圖1.1 配置環境變量                               圖1.2 python安裝並配置成功

 2. 安裝Django:

  1)下載django安裝包,如(Django-1.6.11)

    -- 解壓並和Python安裝目錄放在同一個根目錄(放在python目錄下也行,如,C:\My_softwares\Python27 --> C:\My_softwares\Python27\Django-1.6.11)

    -- 通過【powershell】(或者cmd)進入Django 目錄,執行【python setup.py install】,然后開始安裝,Django將要被安裝到Python的Lib下site-packages.

  2)配置環境變量(操作與配置python的環境變量類似):

    -- C:\My_softwares\Python27\Lib\site-packages\django

    -- C:\My_softwares\Python27\Scripts(注:django安裝完成后,該目標下生成【django-admin.py】用於后續網站的建立

    -- 添加完成后就可以使用【django-admin.py】提供的命令創建新工程了。

  3)檢驗django是否搭建完成:

    --【ctrl + R】 --> 輸入【powershell(或者cmd)】--> 輸入【python】

    -- 輸入【import django】--> 輸入【django.VERSION】--> 是否顯示對應的版本(如:1, 6, 11, 'final', 0),如圖1-3所示. 

圖1-3 django安裝並配置成功

 3. PowerShell簡介:Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶(如,類似linux的【ls】命令,可顯示當前目錄下包含的文件)和腳本編寫者可以利用。

  1)Windows PowerShell 入門主要面向之前沒有 Windows PowerShell 背景知識的 IT 專業人員、程序員和高級用戶。

  2)使用方法:【ctrl + R】 --> 輸入【powershell】即可。

  3)使用【PowerShell】進行快速編輯,如圖1-4所示:

圖1-4 開啟powershell的快速編輯模式

三、創建第一個網站(在環境搭建完成的條件下創建項目,本文使用【powershll】進行命令行的交互)

 1. 將【C:\My_softwares\Python27\Scripts】處的文件“django-admin.py”復制到目錄A(目錄A表示你打算在目錄A下創建網站項目,此處目錄A為:D:\16_Grade_XMU\Code_XMU\TuringClass_OnLine)

 2. 通過【powershll】進入目錄A,輸入django創建項目的語句,具體命令如下:(具體可參考:http://www.runoob.com/django/django-first-app.html)

    1)【ctrl + R】-->【powershell】打開命令交互窗口 --> 輸入【python .\django-admin.py startproject TuringClass】TuringClass為項目名,根據用戶而定。

    2)創建完成后我們可以查看下項目的目錄結構,如圖2-1所示:

圖2-1 初始創建的項目結構

    3)文件說明如下:

  • manage.py一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。
  • __init__.py一個空文件,告訴 Python 該目錄是一個 Python 包。
  • settings.py該 Django 項目的設置/配置。
  • urls.py該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。
  • wsgi.py一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

 3. 至此,我們已經可以通過上述生產的“.\manage.py”,啟動本地服務器,具體命令如下:  

  1)輸入命令【python .\manage.py runserver 127.0.0.1:8000】,成功后如下圖2-2所示。

  2)其中,127.0.0.1為本地服務器IP,8000為端口號。如果不指明端口號,默認為8000端口,命令語句可以是【python .\manage.py runserver】,默認為【127.0.0.1:8000】

  3)打開瀏覽器,輸入【http://127.0.0.1:8000/】,即可打開網頁,如圖2-3所示.

圖2-2 運行本地IP成功

                                 圖2-3(注:項目中如果代碼有改動,服務器會自動監測代碼的改動並自動重新載入,所以如果你已經啟動了服務器則不需手動重啟)

 4. 創建app並配置相應的文件(app根據用戶的功能模塊去划分):

  1)在目錄A(此處為D:\16_Grade_XMU\Code_XMU\TuringClass_OnLine)下,輸入命令【python .\manage.py startapp app_TuringClass】創建一個APP,其中app_TuringClass為app的名字,根據用戶習慣而定。

    -- Note1:每次創建完 app 后,需要在project目錄下的【setting.py】文件里的 INSTALLED_APPS 添加 app_Name (本文為【app_TuringClass】)!

  2)在 app_TuringClass 目錄下,手動創建一個【urls.py】,再由項目目錄(此處為D:\16_Grade_XMU\Code_XMU\TuringClass_OnLine\TuringClass)下的urls.py包含所有app中的urls.py,原理如圖2-4所示(根據本人理解)。

圖2-4 urls.py

  3)創建templates文件夾,正常情況下,用戶把所有html文件都放在該目錄下,具體操作如下:

   A)在項目根目錄下創建文件夾【templates】

   B)在project目錄下的【setting.py】文件配置文件,如圖2-5所示:

圖2-5:配置templates

  4)在templates文件夾下創建html,如【Home_TuringClass.html】,編寫代碼。此處需要理解下視圖(view.py)和URL配置,如下:

    A)每個app_name目錄下都有一個【view.py】,負責網站后台功能的實現,數據的管理和交互,通過ulrs.py調用views.py對應的函數,再由該函數返回指定的html(即界面)。

      -- 如: url(r'^$', 'app_TuringClass.views.Home_TuringClass') ,調用app_TuringClass目錄下的 Home_TuringClass 函數。

      -- 如:【 return render(request, 'Home_TuringClass.html', context) 】,返回Home_TuringClass.html並顯示給用戶。

    B)urls.py配置的理解也很重要,如圖2-6為Django創建網站的運行機制(自己整理,有錯還望提出,本人會加以理解和改進),具體參見【http://django-chinese-docs-16.readthedocs.io/en/latest/

圖2-6 django運行機制

  5)html文件內如何使用后台(views.py)的變量:效果如圖2-7所示

    A)views.py:

      -- 給字典context變量賦值:context['string'] = "Hello Turing Class from view.py!"

      -- 返回context變量:return render(request, 'Home_TuringClass.html', context)

    B)html,如圖2-8所示:

      -- 使用后台返回的string變量:{{string}}  即可顯示【Hello Turing Class from view.py!】

                                                  

                            圖2-7 顯示給用戶的界面                                            圖2-8 Home_TuringClass.html

 5. 創建static文件夾(與templates同一層目錄),將項目涉及到的css、js等文件都放在static目錄下進行管理:

   1)配置文件:在project目錄下的【setting.py】文件進行配置,如圖2-9所示:

圖2-9 配置static

 6. 接下來就是根據項目的需求,進行模塊划分,進一步開發整個網站。

------------------------------------------------------------ 總結 ------------------------------------------------------------

1. 安裝python和django並配置環境變量;

2. 將 django-admin.py 文件復制到目錄A(A表示你想在該目錄下創建項目);

3. 輸入【 python django-admin.py startproject project_name 】創建項目;

4. 輸入【 python .\manage.py runserver 127.0.0.1:8000 】運行本地IP,跑起項目,此時即可選擇瀏覽器,輸入網址 “http://127.0.0.1:8000/” 打開網頁;

5. 輸入【 python .\manage.py startapp appName 】創建app項目,並進行如下配置:

  1)手動添加urls.py;

  2)配置【setting.py】,包括appName、templates、static等(后續的數據庫類型也是在這里配置);

  3)理解每個appName下的urls.py和projectName目錄下的urls.py的關系,比進行配置;

  4)編寫appName目錄下的【views.py】,返回變量和具體網頁;

6. 輸入【 python .\manage.py sycndb 】創建數據庫,本文未詳細提及這部分內容,下次爭取更深刻的理解后,再整理。

-------------------------------------------------------------------------------------------------------------------------------

四、相關網站推薦

 1. Django、Python(菜鳥教程):http://www.runoob.com/

  -- django中文文檔:http://django-chinese-docs-16.readthedocs.io/en/latest/

 2. Sublime:

  1)官網(下載):http://www.sublimetext.com/

  2)Package Control:http://jingyan.baidu.com/article/925f8cb817fd49c0dce05653.html

  3)Ement: http://www.cnblogs.com/tinyphp/p/3217457.html

  4)全棧開發必備的10款Sublime Text插件:http://www.php100.com/html/it/focus/2014/1128/7935.html ;

  -- Note1:在安裝了“Package Control”的條件下,要下載插件時,先打開console(ctrl+shift+p)輸入install package,再輸入插件名。

3. Git

  1)碼雲:https://git.oschina.net/

  2)GIT - 安裝包:https://git-scm.com/download/win ;

  3)TortoiseGit - 安裝包:https://tortoisegit.org/download/

 

------------------------------------------------------------------------------------------------------------------------------

本文根據本人開發經驗進行總結和整理,如有發現不妥的地方,還望指正,互相學習!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM