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连接mysql数据库示例(做增删改操作)
Dec 31 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
详解Python中的array数组模块相关使用
Jul 05 Python
python去掉行尾的换行符方法
Jan 04 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
python networkx 根据图的权重画图实现
Jul 10 Python
Django对models里的objects的使用详解
Aug 17 Python
python实现打砖块游戏
Feb 25 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
python实现超级玛丽游戏
Mar 18 Python
Django Model中字段(field)的各种选项说明
May 19 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 代码优化之经典示例
2011/03/24 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
用PHP代码给图片加水印
2015/07/01 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
JavaScript中set与get方法用法示例
2018/08/15 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python集合用法实例分析
2015/05/30 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
Python原始套接字编程实例解析
2020/01/29 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
共青团员自我评价
2015/03/10 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
python某漫画app逆向
2021/03/31 Python
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS