當前位置:
首頁 > 最新 > Django2萌新入門筆記

Django2萌新入門筆記

這一篇教程,我們一起來了解Django自帶的後台。

Django自帶的後台功能已經比較完善,我們要了解的主要是如何使用它。

一、登錄

當我們啟動開發伺服器,就可以通過「http://127.0.0.1:埠號/admin」進行訪問了。

此時,會顯示登錄界面。

我猜你不知道用戶名和密碼,對吧?

嘿嘿,因為還沒有創建管理員和密碼。

接下來我們進行創建。

二、創建管理員

運行「manage.py」任務窗口,輸入命令:createsuperuser(回車)

此時,就會要求輸入用戶名和兩遍相同的密碼,至於郵箱地址,不想輸入的話,可以回車跳過。

如果設置的密碼想修改的話,可以輸入命令:changepassword 用戶名(回車)

就可以進行密碼的修改了。

當我們完成超級用戶(管理員)的創建,再次回到登錄界面,就可以進行登錄了。

打開之後,覺得很迷茫對吧?

不如,我們先把頁面改成中文的看一看。

三、修改後台語言

打開文件「settings.py」,拉到末尾,我們會看到一項設置。

LANGUAGE_CODE = "en-us"

Django支持很多種語言,默認語言是美國英語。

我們可以打開Django庫的路徑:項目文件夾venvLibsite-packagesdjangocontribadminlocale

這個路徑下,每一個文件夾的名稱代表了一種語言。

如果需要改成中文的話,我們把「LANGUAGE_CODE」的值改成「zh-Hans」,也就是中文漢字簡體,「s」表示簡體。

提示:繁體中文是「zh-Hant」,也就是中文漢字繁體,「t」表示台灣。

完成這項設置的修改之後,我們就能夠看到中文界面了。

圖中的「認證和授權」中,能夠對用戶和組進行管理。

用戶:包括用戶的創建、刪除、信息修改、許可權分配等。

組:創建不同的組別,給予相應的許可權,就能夠將用戶劃分到不同的組中,擁有相應的許可權,適合大量用戶的許可權管理。

四、添加數據

一般來說,資料庫中的全部或部分數據是需要在後台進行管理的。

但是,當前後台中,並沒有這些數據。

以我們之前已經創建好的模型「Goods」舉例,如何把通過這個模型創建的數據表中的數據呈現在後台呢?

操作非常簡單!

打開文件「admin.py」,在裡面我們導入模型類「Goods」,並加入一行代碼。

示例代碼:

這時,我們刷新後台頁面看一看。

此時,在頁面中我們看到了Web應用的名稱和模型中類的名稱,不過類的名稱後面多了個s,表示這裡面可能包含多個數據對象。

不過,現在顯示的站點名稱和表名稱都是英文,我們也可以給改成中文。

五、修改站點名稱、表名稱以及數據對象名稱為中文

首先,打開文件「apps.py」,當前只有一行定義「name」變數的代碼,我們在下方再添加一行代碼。

示例代碼:

verbose_name="我的商店"

這句代碼就能夠讓站點名稱顯示為指定的名稱。

然後,再打開模型文件「models.py」,在「Goods」類中,創建一個「Meta」類,並寫入一行代碼。

示例代碼:

class Goods(models.Model): ...省略已有代碼... class Meta: verbose_name_plural = "商品管理"

再次刷新頁面,就可以看到我們要的結果了。

接下來,我們點擊「商品管理」這個表名稱看一看。

在打開的頁面中,還有英文的「goods」或「GOODS」。

這些也需要改過來的話,我們在剛才的「meta」類中,再加入一行代碼。

示例代碼:

verbose_name = "商品"

頁面刷新後,我們能夠看到除了下方列表,中的「Goods object」,其餘的「Goods」都變成了「商品」。

那麼,列表中的「Goods object」怎麼處理呢?

列表就是之前所說的多個數據對象的列表。

這些「Goods object」都是數據行標題,以Goods object(商品名稱)的形式呈現。

這樣顯示數據行標題不是很友好,我們應該比較期望這裡是一條商品信息的數據內容。

解決這個問題,我們可以在「Goods」類中,再添加一段代碼。

示例代碼:

def __str__(self): return self.goods_name

這一段代碼的意思讓數據行標題顯示為商品名稱。

但是,只有商品名稱還不夠,如果能夠把其他的商品信息也顯示出來就更好了。

六、顯示更多數據欄位

如果想顯示更多的數據欄位,我們需要打開文件「admin.py」,創建一個新的類。

示例代碼:

class GoodsAdmin(admin.ModelAdmin): list_display = ("goods_name","goods_number","goods_price","goods_sales")

變數「list_display 」就是用來定義數據列表中顯示哪些的欄位。

然後,我們再將之前的語句:

修改為:

也就是將新增的類進行註冊。

刷新頁面,我們能夠看到更多的數據欄位了。

但是,新的問題又來了,列表中列名都是英文。

七、修改數據表的列名為中文。

這個很簡單,我們把文件「models.py」中「Goods」類的每個變數賦值進行修改,在欄位類型的參數中,第一個參數位置添加中文名稱。

示例代碼:

goods_name = models.CharField("商品名稱", max_length=30, primary_key=True)goods_number = models.IntegerField("數量")goods_price = models.FloatField("價格")goods_sales = models.IntegerField("銷量", default=0)

經過這樣的修改,就能看到數據列表中所有的列名都變成了中文名稱。

八、數據對象列表中添加非數據欄位內容

假如,我們想在上方的數據表中,再添加一列內容,是銷量的金額可不可以呢?

當然可以!

我們在Goods類中添加新的代碼。

示例代碼:

def sales_volume(self): return self.goods_sales * self.goods_pricesales_volume.short_description = "銷售額"goods_amount = property(sales_volume)

先通過一個方法「sales_volume」計算銷售額,再將這個方法轉為類的屬性。

這個屬性的名稱可以通過「sales_volume.short_description」進行定義。

然後,我們在文件「admin.py」中將「list_display」修改為:

list_display = ("goods_name","goods_number","goods_price","goods_sales","goods_amount")

完成上面的操作之後,我們刷新頁面,就能夠在列表中看到新增的「銷售額」這一列了。

提示:之前的商品銷量都是「0」,可以修改之後查看銷售額的變化。

以上就是關於Django後台的使用介紹。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 OPython 的精彩文章:

TAG:OPython |