91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Django中使用Models實現自定義一個Admin后臺

發布時間:2020-11-12 14:42:24 來源:億速云 閱讀:285 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關在Django中使用Models實現自定義一個Admin后臺,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

簡介

效果預覽

在Django中使用Models實現自定義一個Admin后臺

Django自帶一個Admin后臺, 支持用戶創建,權限配置和所有模型的增刪改查功能, 只需要一些簡單的配置就可快速得到一個開箱可用的后臺管理系統

操作步驟

1. 更改設置,使用中文/亞洲時區

修改項目下django_shop目錄下的settings.py文件
修改以下三行

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

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

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

2. 為Models提供中文顯示名稱和實例名稱#

修改項目shop目錄下的models.py, 為每個模型添加meta信息和__str__方法

from django.db import models

class Category(models.Model):
  ...

  class Meta:
    verbose_name_plural = verbose_name = "分類"  # 該模型在后臺顯示的名稱

  def __str__(self):  # 該模型每一個實例顯示其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, 將模型注冊到admin應用中

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

admin.site.site_header = 'Django-Shop后臺'
admin.site.site_title = 'Django-Shop后臺'


class OrderItemInline(admin.TabularInline):  # 建立內聯表單, 用于將訂單條目內嵌入訂單的表單中
  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] # 嵌入訂單條目內聯表單

完成!!!

使用演示

添加訂單及訂單條目

在Django中使用Models實現自定義一個Admin后臺

訂單列表

在Django中使用Models實現自定義一個Admin后臺

注: 本次只簡單實現了將模型注冊到admin后臺中,以實現通過admin后臺對模型進行增刪改查的基本功能, 其他定制功能/插件及admin頁面定制, 沒有涉及.

看完上述內容,你們對在Django中使用Models實現自定義一個Admin后臺有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西城区| 麦盖提县| 保亭| 梁平县| 南岸区| 马鞍山市| 化隆| 伊吾县| 吉安县| 体育| 嘉禾县| 满洲里市| 尉犁县| 巴林右旗| 当雄县| 龙泉市| 万荣县| 大冶市| 东港市| 莲花县| 巩义市| 万载县| 广丰县| 陇南市| 恩施市| 那曲县| 义乌市| 浦北县| 建瓯市| 天津市| 岳普湖县| 萨嘎县| 凤翔县| 昭通市| 广宗县| 丽江市| 高碑店市| 海原县| 东台市| 社旗县| 湖州市|