Django 框架 - Admin站点

Admin 站点

Django 能够根据定义的模型类自动地生成管理页面。

使用 Django 的管理模块,需要按照如下步骤操作 :

  1. 管理界面本地化
  2. 创建管理员
  3. 注册模型类
  4. 自定义管理页面



调整列表页展示

list_per_page=100  # 页大小
actions_on_top=True  # “操作选项位置”
list_display=[模型字段1,模型字段2,...]  # 列表中的列
short_description  # 通过设置short_description属性,可以设置在admin站点中显示的列名
admin_order_field=模型类字段  # 方法列是不能排序的,如果需要排序需要为方法指定排序依据
# 无法直接访问关联对象的属性或方法,可以在模型类中封装方法,访问关联对象的成员。
list_filter=[]  # 右侧栏过滤器
search_fields=[]  # 搜索框



调整编辑页展示

fields=[]  # 显示字段
fieldset=(
    ('组1标题',{'fields':('字段1','字段2')}),
    ('组2标题',{'fields':('字段3','字段4')}),
)  # 分组显示
# 关联对象
# 在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。
# 类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑。
# 子类TabularInline:以表格的形式嵌入。
# 子类StackedInline:以块的形式嵌入。



调整站点信息

Admin站点的名称信息也是可以自定义的。

  • admin.site.site_header 设置网站页头
  • admin.site.site_title 设置页面标题
  • admin.site.index_title 设置首页标语



上传图片

Django有提供文件系统支持,在Admin站点中可以轻松上传图片。

使用Admin站点保存图片,需要安装Python的图片操作包

pip install Pillow

配置

默认情况下,Django会将上传的图片保存在本地服务器上,需要配置保存的路径。

我们可以将上传的文件保存在静态文件目录中,如我们之前设置的static_files目录中在settings.py 文件中添加如下上传保存目录信息

MEDIA_ROOT=os.path.join(BASE_DIR,"static_files/media")

为模型类添加ImageField字段

我们为之前的BookInfo模型类添加一个ImageFiled

class BookInfo(models.Model):
    ...
    image = models.ImageField(upload_to='booktest', verbose_name='图片', null=True)
  • upload_to 选项指明该字段的图片保存在MEDIA_ROOT目录中的哪个子目录

进行数据库迁移操作

python manage.py makemigrations
python manage.py migrate



使用Admin站点上传图片

进入Admin站点的图书管理页面,选择一个图书,能发现多出来一个上传图片的字段

猜你喜欢

转载自blog.csdn.net/qyf__123/article/details/84677083