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 相关文章推荐
go和python调用其它程序并得到程序输出
Feb 10 Python
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
不要用强制方法杀掉python线程
Feb 26 Python
Python断言assert的用法代码解析
Feb 03 Python
python虚拟环境迁移方法
Jan 03 Python
详解python调用cmd命令三种方法
Jul 08 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
May 22 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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 全局变量范围分析
2009/08/07 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
详解json在php中的应用
2018/09/30 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
PHP attributes()函数讲解
2019/02/03 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
python根据路径导入模块的方法
2014/09/30 Python
讲解Python中的递归函数
2015/04/27 Python
Python使用minidom读写xml的方法
2015/06/03 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
物业管理员岗位职责范文
2013/11/25 职场文书
拓展训练激励口号
2014/06/17 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python