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中将字典转换成其json字符串
Jul 16 Python
Python列表生成器的循环技巧分享
Mar 06 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
Python读取YUV文件,并显示的方法
Dec 04 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
Python vtk读取并显示dicom文件示例
Jan 13 Python
python实现扑克牌交互式界面发牌程序
Apr 22 Python
python上selenium的弹框操作实现
Jul 13 Python
python调用私有属性的方法总结
Jul 24 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 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
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
JS 继承实例分析
2008/11/04 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
教育实习生的自我评价分享
2013/11/21 职场文书
创意广告词
2014/03/17 职场文书
无传销社区工作方案
2014/05/13 职场文书
捐款活动总结
2014/08/27 职场文书
网络营销实训总结
2015/08/03 职场文书
导游词之介休绵山
2019/12/31 职场文书