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装饰器
May 09 Python
在Python的Django框架中包装视图函数
Jul 20 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
Python中按键来获取指定的值
Mar 02 Python
Python实现 PS 图像调整中的亮度调整
Jun 28 Python
浅谈python 中类属性共享的问题
Jul 02 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
python如何运行js语句
Sep 09 Python
python如何实现word批量转HTML
Sep 30 Python
python读取excel数据并且画图的实现示例
Feb 08 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 Ubb代码编辑器函数代码
2012/07/05 PHP
深入PHP异步执行的详解
2013/06/03 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
python实现超级马里奥
2020/03/18 Python
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
网络技术支持面试题
2013/04/22 面试题
感谢信的格式
2015/01/21 职场文书
求职意向书范本
2015/05/11 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python