Django自定义列表 models字段显示方式


Posted in Python onApril 03, 2020

Models.py中

class article(models.Model):
 id = models.AutoField(primary_key=True,verbose_name ='编号')
 title = models.CharField(max_length=100,verbose_name ='标题')
 content = models.CharField(max_length=20000,verbose_name ='正文')
 create_time = models.DateTimeField(verbose_name ='创建时间')
 change_time = models.DateTimeField(verbose_name ='修改时间')
 excerpt = models.CharField(max_length=200,blank=True,verbose_name ='摘要')

 type = models.ForeignKey(category,verbose_name ='类别')
 tags = models.ManyToManyField(tags,blank=True,verbose_name ='标签')

 class Meta:
  verbose_name = '文章列表'
  verbose_name_plural = '文章列表'

 def __str__(self):
  return self.title

我们可以在这基础上改进,添加其它字段,从而改变django后台admin 数据库列表字段的显示。 这个页面应该提供便利,比如说:在这个列表中可以看到编号,标题,发布时间。如果能按照编号,发布时间来排序,那就更好了。

为了达到这个目的,我们将为articel模块定义一个ModelAdmin类。 这个类是自定义管理工具的关键,其中最基本的一件事情是允许你指定列表中的字段。 打开admin.py并修改:

from django.contrib import admin
from .models import category,tags,article

# Register your models here.

class articleAdmin(admin.ModelAdmin):
 list_display = ('id','title','create_time','change_time','type') #添加字段显示
 search_fields = ('title','create_time') #添加快速查询栏

admin.site.register(category)
admin.site.register(tags)
admin.site.register(article,articleAdmin)

补充知识:Django----将列表按照一定的顺序展示

1、要求:按照文章的时间降序排列,并且只展示前5篇文章

2、需要用到:list的切片知识

###改造view.py中的视图方法

#列表页
def get_article(request):
 article_list = Article.objects.all();
 #按照文章时间排序(并且是降序排列)
 order_3_list=Article.objects.order_by('-articel_date')[:3]------------->使用order_by('字段名称'),order_by('-字段名称')【前面加一个减号,表示降序】
 page=request.GET.get('page');
 if page:
  page=int(page);

 else:
  page=1;
 print('PAGE 参数为:',page);

 #实例化一个分页组件,第一个参数是需要被分页的列表,第二个参数是每一个的item个数
 paginator=Paginator(article_list,2);
 #page方法,传入一个参数,表示第几页的列表,这边传入的page,是你在地址中写的参数
 page_article_list=paginator.page(page);
 page_num=paginator.num_pages
 print('page_num:',page_num);
 #判断是否存在下一页
 if page_article_list.has_next():
  next_page=page+1;

 else:
  next_page=page;
 if page_article_list.has_previous():
  previous_page=page-1;
 else:
  previous_page=page;

 return render(request,'index.html',{
  'article_list':page_article_list,
  "order_3_list":order_3_list,--------------->把这个东西传回前端
  'page_num':range(1,page_num+1),
  'curr_page':page,
  'next_page':next_page,
  'previous_page':previous_page
 })

#前端改造

 <div class="col-md-3" role="complementary">
  <div><h2>持续更新中......</h2>
   {% for article in order_3_list %}

   <h4><a href="get_detail/{{ article.article_id }}" rel="external nofollow" >{{article.article_title}}</a></h4>
   {% endfor %}

  </div>

查看结果,调试正常,加油?(^ω^)?

以上这篇Django自定义列表 models字段显示方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中Random和Math模块学习笔记
May 18 Python
Django中处理出错页面的方法
Jul 15 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
解决python大批量读写.doc文件的问题
May 08 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python实现PID算法及测试的例子
Aug 08 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
Python箱型图处理离群点的例子
Dec 09 Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 Python
Python如何使用正则表达式爬取京东商品信息
Jun 01 Python
Python依赖包迁移到断网环境操作
Jul 13 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
使用Django清空数据库并重新生成
Apr 03 #Python
Python基础类继承重写实现原理解析
Apr 03 #Python
Django实现列表页商品数据返回教程
Apr 03 #Python
Python第三方库的几种安装方式(小结)
Apr 03 #Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 #Python
pip install 使用国内镜像的方法示例
Apr 03 #Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 #Python
You might like
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
就业自荐书
2013/12/05 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
Python基本的内置数据类型及使用方法
2022/04/13 Python
docker 制作mysql镜像并自动安装
2022/05/20 Servers