最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django基于Models定制Admin后臺實現(xiàn)過程解析

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

簡介

效果預(yù)覽

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

操作步驟

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

修改項目下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應(yīng)用中

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):  # 建立內(nèi)聯(lián)表單, 用于將訂單條目內(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] # 嵌入訂單條目內(nèi)聯(lián)表單

完成!!!

使用演示

添加訂單及訂單條目

訂單列表

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

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

相關(guān)文章

最新評論

江安县| 常德市| 安岳县| 松原市| 武夷山市| 阿克陶县| 滕州市| 罗定市| 治多县| 思南县| 莎车县| 若羌县| 江山市| 行唐县| 余姚市| 逊克县| 梁山县| 南漳县| 监利县| 拜城县| 澄迈县| 婺源县| 洛浦县| 白山市| 本溪市| 苗栗县| 信阳市| 井冈山市| 丘北县| 墨玉县| 佳木斯市| 尤溪县| 绥宁县| 永嘉县| 永寿县| 阳信县| 武清区| 唐山市| 自治县| 高要市| 宝丰县|