Djano中设置admin,models
1.将数据同步到数据库
./manage.py makemigrations
./manage.py migrate
2.创建管理员帐户
./manage.py createsuperuser
3. 配置admin.py文件
from django.contrib import admin
from .models import *
# Register your models here.
class UsersAdmin(admin.ModelAdmin):list_display = ['uname', 'uphone', 'uemail']
list_display_links = ['uname', 'uemail']
list_editable = ['uphone']
search_fields = ['uname', 'uemail', 'uphone']
list_filter = ['uname', 'uemail']
fieldsets = (
('基本信息', {
'fields': ('uname', 'uphone',),
}),
('更多信息', {
'fields': ('upwd', 'isActive', 'uemail'),
'classes': 'collapse'
}),
)
class GoodsAdmin(admin.ModelAdmin):
pass
class GoodsTypeAdmin(admin.ModelAdmin):
pass
admin.site.register(Users, UsersAdmin)
admin.site.register(Goods, GoodsAdmin)
admin.site.register(GoodsType, GoodsTypeAdmin)
4.配置models.py文件
from django.db import models
# Create your models here.
class Users(models.Model):
uname = models.CharField(max_length=30, default='匿名', verbose_name='用户名')
upwd = models.CharField(max_length=20, verbose_name='密码')
uphone = models.CharField(max_length=20, verbose_name='手机号')
uemail = models.EmailField(null=True, verbose_name='邮箱')
isActive = models.BooleanField(default=True, verbose_name='用户状态')
def __str__(self):
return self.uname
class Meta:
verbose_name = '用户信息'
verbose_name_plural = verbose_name
class GoodsType(models.Model):
title = models.CharField(max_length=30, verbose_name='商品类别')
desc = models.TextField(null=True, verbose_name='类别描述')
picture = models.ImageField(
upload_to='static/upload/goodsType', verbose_name='图片描述')
def __str__(self):
return self.title
class Meta:
verbose_name = '商品类别'
verbose_name_plural = verbose_name
ordering = ['id']
class Goods(models.Model):
title = models.CharField(max_length=30, verbose_name='商品名称')
price = models.DecimalField(
max_digits=7, decimal_places=2, verbose_name='商品价格')
spec = models.CharField(max_length=30, verbose_name='商品规格')
picture = models.ImageField(
upload_to='static/upload/goods', verbose_name='商品图片')
# 6.增加商品类别, 对 GoodsType 引用, 一对多关系
goodsType = models.ForeignKey(GoodsType, null=True, verbose_name='商品类型')
# 5.商品状态
isActive = models.BooleanField(default=True, verbose_name='销售中')
def __str__(self):
return self.title
class Meta:
verbose_name = '商品信息'
verbose_name_plural = '商品信息'
ordering = ['title', '-isActive']