Django開發:PyCharm平臺下的Django簡易教程

在講解開始之前,先保證你的PC安裝了Python和Django,安裝Django可以使用命令pip3 install django,將自動安裝最新的Django版本,具體教程網上很多,自己查,這裏就不多說了,本人在寫這篇博客的時候,安裝的Django版本是2.1.1,已經安裝Django的,可以查看自己的Django版本,最好是使用Django2,好處不多說。查看方法如下圖:

接下來直接進入正題,按步驟邊創建項目邊解釋,按照步驟來一遍基本可以對Django有個大致的瞭解。

進入項目創建頁,按照提示創建就行,其中只要更改項目名稱,其他的默認就好了,創建項目過程中會比較慢,因爲每次使用PyCharm創建Django項目時,需要重新加載一遍Python虛擬環境配置,會比較慢,等到熟悉之後,可以多個項目使用一套venv文件配置,就是圖中讓你注意的文件。

Django將自動生成下面的目錄結構,其中與項目同名的目錄中是配置文件,templates目錄是html文件存放也就是MTV中的T。manage.py是django項目管理文件。

接下來我們給項目創建相對獨立的APP,在每個django項目中可以包含多個APP,相當於一個大型項目中的分系統、子模塊、功能部件等等,相互之間比較獨立,但也有聯繫。所有的APP共享項目資源。

在pycharm下方的terminal終端中輸入命令:python manage.py startapp cmdb

這樣就創建了一個叫做cmdb的APP,django自動生成“cmdb”文件夾。

路由都在urls文件裏,它將瀏覽器輸入的url映射到相應的業務處理邏輯,有java基礎的對這個更好理解一點。簡單的urls編寫方法和業務處理邏輯都在views.py文件裏,如下圖:

通過上面兩個步驟,我們將index這個url指向了views裏的index()函數,它接收用戶請求,並返回一個“hello world”字符串。

現在我們已經可以將web服務運行起來了。命令行的方式是:python manage.py runserver 127.0.0.1:8000。但在pycharm中,你可以這麼幹:在上部工具欄中找到下面圖示的圖標。

在host中填入:127.0.0.1   port中填入:8000  

OK確定之後,點擊綠色的三角,web服務就運行起來了。

按圖所示,自動跳轉到瀏覽器程序界面。顯示的卻是下圖的404頁面:

修改一下url,添加“/index”,就一切ok了!至此,一個最簡單的django編寫的web服務就啓動成功了。

上面我們返回給用戶瀏覽器的是什麼?一個字符串!實際上這肯定不行,通常我們都是將html文件返回給用戶。下面,我們寫這麼一個index.html文件:

再修改一下views文件:

爲了讓django知道我們的html文件在哪裏,需要修改settings文件的相應內容。但默認情況下,它正好適用,你無需修改。

接下來,我們可以重新啓動web服務。在瀏覽器刷新一下,你會看到帶有樣式的“hello world”。

注:這裏有個小技巧,在多次頻繁重啓服務時,由於端口未釋放的原因,容易啓動不了服務,修改一下端口就OK了。

既然使用了HTML,我們就會想到使用前端三大塊,html、css、js還有各種插件,它們齊全才是一個完整的頁面,接下來講解如何使用靜態文件。在django中,一般將靜態文件放在static目錄中。接下來,在mysite中新建個static目錄。

你的CSS,JS和各種插件都可以放置在這個目錄裏。爲了讓django找到這個目錄,依然需要對settings進行配置:

同樣,在index.html文件中,可以引入js文件了,重新啓動web服務,刷新瀏覽器,查看結果。

上面,我們將一個要素齊全的html文件返還給了用戶瀏覽器。但這還不夠,因爲web服務器和用戶之間沒有動態交互。下面我們設計一個表單,讓用戶輸入用戶名和密碼,提交給index這個url,服務器將接收到這些數據。先修改index.html文件

然後修改views.py文件

此時 ,重啓web服務時,會出錯,因爲django有一個跨站請求保護機制,我們在settings文件中將它關閉。

再次進入瀏覽器,刷新頁面:輸入點東西,然後我們在pycharm中可以看到相應的數據。

我們收到了用戶的數據,但返回給用戶的依然是個靜態頁面,通常我們會根據用戶的數據,進行處理後在返回給用戶。這時候,django採用jinja2語言編寫動態模板,jinja2會根據提供的數據,替換掉html中的相應部分,詳細語法入門後再深入學習。先改造views.py文件:

再改造index.html文件:

重啓服務,刷新瀏覽器,可以看到,我們獲得了用戶實時輸入的數據,並將它實時展示在了用戶頁面上,這是個不錯的交互過程。

流程走到這裏,django的MTV框架基本已經浮出水面了,只剩下最後的數據庫部分了。上面我們雖然和用戶交互得很好,但並沒有保存任何數據,頁面一旦關閉,或服務器重啓,一切都將回到原始狀態。使用數據庫是毫無疑問的,django通過自帶的ORM框架操作數據庫,並且自帶輕量級的sqlite3數據庫。下面我們來看一看:首先是註冊app:

不註冊它,你的數據庫就不知道該給哪個app創建表。然後我們在settings中,配置數據庫相關的參數,如果使用自帶的sqlite,不需要修改。

再編輯models.py文件,也就是MTV中的M。

這裏我們創建了2個字段,分別保存用戶的名字和密碼。接下來要在pycharm的teminal中通過命令創建數據庫的表了。有2條命令,分別是:python manage.py makemigrations

再輸入命令:python manage.py migrate

修改views.py中的業務邏輯

重啓web服務後,刷新瀏覽器頁面,之後和用戶交互的數據都能保存到數據庫中。任何時候都可以從數據庫中讀取數據,展示到頁面上。至此,一個要素齊全,主體框架展示清晰的django項目完成了,其實很簡單是不是?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章