网站内容管理系统上传图片(一个学生管理系统模型-上海怡健医学()模型)

优采云 发布时间: 2022-03-07 20:16

  网站内容管理系统上传图片(一个学生管理系统模型-上海怡健医学()模型)

  在上一篇文章中,我们已经初步搭建了一个学生管理系统的模型,现在让我们继续完善它。

  1、上传图片/文件等资源

  有时需要添加一些附件。比如新生刚进校,大家还不太熟悉。希望可以通过照片加深印象,方便教学管理。

  首先,修改 demo/urls.py 文件,在 urlpatterns 中添加 static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT):

  网址模式 = [

  路径(r'',xadmin.site.urls),

  ]+ 静态(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

  然后在 demo/settings.py 文件中添加

  # 指定上传位置

  LOCATION = os.path.join('/', 'Users', 'babybus')

  # 媒体文件根目录

  MEDIA_ROOT= os.path.join(位置, '媒体')

  ROOT_URL='/'MEDIA_URL='/media/'

  上传图片需要获取路径,并在models.py文件中导入os模块

  导入操作系统

  在models.py文件的Students类中添加路径获取方法和models.ImageField字段:

  defget_photo(self, filename):return os.path.join('photo', '%s_%s_%s_%s' % (self.class_name, self.name, self.id, os.path.splitext(filename) [1]))

  photo = models.ImageField(verbose_name='photo', upload_to=get_photo, blank=True, null=True)

  同时同步数据库操作,让页面有上传照片的选项,选择照片保存:

  

  2、过滤、过滤、排序

  1)过滤

  今年学校录取率爆棚,生源特别好。要在数据库中找到对应的学生,就需要使用搜索功能。

  修改adminx.py文件,在StudentAdmin类中添加:

  search_fields = ('名字', )

  

  如果我们想按班级或科目查找该班级或科目中的所有学生,方法是否相同?我们先试试:

  search_fields = ('name', 'class_name', 'subjects',)

  结果报错:

  

  这里发生了什么?原来我们搜索的“class”和“subject”这两个字段是外键,另一个是多对多关系。Student 模型中这两个字段的名称不是其实际名称,应在字段后添加“__”。” 在添加外键或多对多关系的实际字段名之前的两个下划线:

  search_fields = ('name', 'class_name__class_name', 'subjects__name',)

  

  现在没事了。

  2)过滤器:

  如果只想查看学生表中男生或女生的信息,那么使用过滤功能:

  修改adminx.py文件,在StudentAdmin类中添加:

  list_filter = ('sex',)

  

  3)排序:

  如果您希望学生按字段的顺序排序,我们还需要在 adminx.py 文件中的 StudentsAdmin 类中添加排序选项:

  # 排序

  排序 = ('年龄', '姓名', )

  # 倒序排序,前面加减号“-”,如按年龄倒序

  排序 = ('-age',)

  这意味着按年龄和姓名字段排序。

  二、自定义网站信息

  我们要在登录网站时显示站点名称,修改adminx.py文件,添加LoginViewAdmin类,注册:

  从 xadmin.views.website 导入LoginViewclassLoginViewAdmin(LoginView):

  title= '*敏*感*词*管理系统' xadmin.site.register(LoginView, LoginViewAdmin)

  

  还可以继续修改,比如左上角的浏览器标题和页面标题以及页脚的版权信息:

  from xadmin.views importCommAdminViewclassGlobalSetting(CommAdminView):#左上角和浏览器标题

  site_title = '*敏*感*词*管理系统'

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线