django 购物系统 - admin注册和验证

本文介绍如何在 Django 的 admin 应用中为 Product 模型添加字段验证,并通过 forms.py 文件实现价格字段的自定义验证逻辑。同时,文章还展示了如何注册模型至 admin 并配置显示选项。
摘要由CSDN通过智能技术生成

添加admin应用


注册模型至admin


为模型字段添加自定义验证


提交代码到远程仓库的feature-catalog分支

------------------

实现

新建forms.py  用于验证模型的字段验证

from django import forms
from .models import Product


class ProductAdminForm(forms.ModelForm):
    class Meta:
        model = Product
        exclude = []

    # 验证属性price
    def clean_price(self):
        if self.cleaned_data['price'] <= 0:
            raise forms.ValidationError('价格必须大于0.')
        return self.cleaned_data['price']

注册模型 注意使用了装饰器

from django.contrib import admin
from .models import *
from .forms import ProductAdminForm
# Register your models here.


@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
    form = ProductAdminForm
    list_display = ['name', 'price', 'old_price', 'created_at', 'updated_at']
    list_display_links = ['name']
    list_per_page = 30
    ordering = ['-created_at']
    search_fields = ['name', 'description', 'meta_keywords', 'meta_description']
    exclude = ['created_at', 'updated_at']
    prepopulated_fields = {'slug': ('name',)}


@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
    list_display = ['name', 'created_at', 'updated_at']
    list_display_links = ['name']
    list_per_page = 30
    ordering = ['name']
    search_fields = ['name', 'description', 'meta_keywords', 'meta_description']
    exclude = ['created_at', 'updated_at']
    prepopulated_fields = {'slug': ('name',)}#自动用name填充slug字段,但仅限英文时可用

git 操作

在代码目录下

git add .  

查看状态

git status

确认

git commit -m 'register model to admin and check field'

git push origin featrue-catalog

origin 代表远程仓库



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值