欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django基于Models定制Admin后臺(tái)實(shí)現(xiàn)過(guò)程解析

 更新時(shí)間:2020年11月11日 11:18:10   作者:臨淵  
這篇文章主要介紹了Django基于Models定制Admin后臺(tái)實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

簡(jiǎn)介

效果預(yù)覽

Django自帶一個(gè)Admin后臺(tái), 支持用戶(hù)創(chuàng)建,權(quán)限配置和所有模型的增刪改查功能, 只需要一些簡(jiǎn)單的配置就可快速得到一個(gè)開(kāi)箱可用的后臺(tái)管理系統(tǒng)

操作步驟

1. 更改設(shè)置,使用中文/亞洲時(shí)區(qū)

修改項(xiàng)目下django_shop目錄下的settings.py文件
修改以下三行

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_L10N = False

添加以下兩行, 已更改時(shí)間顯示格式

DATETIME_FORMAT = 'Y年m月d日 H:i:s'
DATE_FORMAT = 'Y年m月d日'

2. 為Models提供中文顯示名稱(chēng)和實(shí)例名稱(chēng)#

修改項(xiàng)目shop目錄下的models.py, 為每個(gè)模型添加meta信息和__str__方法

from django.db import models

class Category(models.Model):
  ...

  class Meta:
    verbose_name_plural = verbose_name = "分類(lèi)"  # 該模型在后臺(tái)顯示的名稱(chēng)

  def __str__(self):  # 該模型每一個(gè)實(shí)例顯示其name
    return self.name

class Product(models.Model):
  ...

  class Meta:
    verbose_name_plural = verbose_name = "商品"

  def __str__(self):
    return self.name

class Order(models.Model):
  ...

  class Meta:
    verbose_name_plural = verbose_name = "訂單"

  def __str__(self):
    return "{}的訂單".format(self.username)

class OrderItem(models.Model):
  ...

  class Meta:
    verbose_name_plural = verbose_name = "訂單條目"

  def __str__(self):
    return "{}訂單條目".format(self.order)

3. 修改shop目錄下的admin.py, 將模型注冊(cè)到admin應(yīng)用中

from django.contrib import admin
from .models import Category, Product, Order, OrderItem

admin.site.site_header = 'Django-Shop后臺(tái)'
admin.site.site_title = 'Django-Shop后臺(tái)'


class OrderItemInline(admin.TabularInline):  # 建立內(nèi)聯(lián)表單, 用于將訂單條目?jī)?nèi)嵌入訂單的表單中
  model = OrderItem


@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
  fields = ('name', 'slug')
  list_display = ('name', 'slug')
  list_filter = ('name', 'slug')


@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
  fields = ('name', 'slug', 'category', 'price', 'available', 'description') # 詳情表單包含的字段, 支持嵌套分組(將一行展示)
  list_display = ('name', 'category', 'price', 'available', 'created', 'updated') # 列表顯示字段
  list_filter = ('category', 'available')  # 列表篩選字段
  search_fields = ('name', ) # 列表可搜索字段
  list_editable = ('price', 'available') # 列表可編輯字段
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
  fields = ('username', 'mobile', 'city', 'address', 'pay_status')
  list_display = ('username', 'mobile', 'city', 'pay_status', 'created', 'updated')
  list_filter = ('username', 'city', 'pay_status')
  search_fields = ('username', 'mobile')
  list_editable = ('pay_status', )
  inlines = [OrderItemInline] # 嵌入訂單條目?jī)?nèi)聯(lián)表單

完成!!!

使用演示

添加訂單及訂單條目

訂單列表

注: 本次只簡(jiǎn)單實(shí)現(xiàn)了將模型注冊(cè)到admin后臺(tái)中,以實(shí)現(xiàn)通過(guò)admin后臺(tái)對(duì)模型進(jìn)行增刪改查的基本功能, 其他定制功能/插件及admin頁(yè)面定制, 沒(méi)有涉及.

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 數(shù)據(jù)分析之逐塊讀取文本的實(shí)現(xiàn)

    Python 數(shù)據(jù)分析之逐塊讀取文本的實(shí)現(xiàn)

    這篇文章主要介紹了Python 數(shù)據(jù)分析之逐塊讀取文本的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python實(shí)現(xiàn)將Markdown文檔轉(zhuǎn)為EPUB電子書(shū)文件

    Python實(shí)現(xiàn)將Markdown文檔轉(zhuǎn)為EPUB電子書(shū)文件

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)將Markdown文檔轉(zhuǎn)為EPUB電子書(shū)文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-06-06
  • python自定義異常實(shí)例詳解

    python自定義異常實(shí)例詳解

    這篇文章主要介紹了python自定義異常實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Python中賦值的含義及說(shuō)明

    Python中賦值的含義及說(shuō)明

    這篇文章主要介紹了Python中賦值的含義及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • opencv+python實(shí)現(xiàn)圖像矯正

    opencv+python實(shí)現(xiàn)圖像矯正

    這篇文章主要為大家詳細(xì)介紹了opencv+python實(shí)現(xiàn)圖像矯正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Python合并重疊矩形框

    Python合并重疊矩形框

    這篇文章主要介紹了Python合并重疊矩形框,循環(huán)+遞歸,依次判斷兩個(gè)框是否有重疊,下面具體實(shí)現(xiàn)過(guò)程需要的小伙伴可以參考一下
    2022-03-03
  • 如何通過(guò)python代碼根據(jù)模板修改變量生成新yaml文件

    如何通過(guò)python代碼根據(jù)模板修改變量生成新yaml文件

    有些時(shí)候,需要根據(jù)一個(gè)yaml模板創(chuàng)建多個(gè)yaml文件實(shí)例,我們先寫(xiě)一個(gè)yaml文件模板,然后通過(guò)python代碼修改模板中的變量,存儲(chǔ)為一個(gè)新的yaml文件,需要配合python的庫(kù)Template及ymal使用,本文給大家講解的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-11-11
  • Django Admin 上傳文件到七牛云的示例代碼

    Django Admin 上傳文件到七牛云的示例代碼

    這篇文章主要介紹了Django Admin 上傳文件到七牛云的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 實(shí)例講解Python腳本成為Windows中運(yùn)行的exe文件

    實(shí)例講解Python腳本成為Windows中運(yùn)行的exe文件

    在本篇文章里小編給大家分享了關(guān)于Python腳本成為Windows中運(yùn)行的exe文件的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-01-01
  • Python如何提取html中文本到txt

    Python如何提取html中文本到txt

    這篇文章主要介紹了Python如何提取html中文本到txt問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論