python - 尝试在 Django 中进行分页时,X 没有 len
问题描述
我正在尝试在 Django 中构建分页,但它不起作用 - 数字移动但内容没有改变。我怎么解决这个问题?
文件models.py
class Board(models.Model):
name = models.CharField(max_length=50, unique=True)
description= models.CharField(max_length=50, unique=False)
class Topic(models.Model):
title = models.CharField(max_length=100)
created_by = models.ForeignKey(User,
related_name='topics',on_delete=models.CASCADE,default=True)
board = models.ForeignKey(Board,
related_name='topics',on_delete=models.CASCADE)
created_dt = models.DateTimeField(default=timezone.now)
文件views.py
def boards_topic(request, id):
board = get_object_or_404(Board, pk=id)
paginator = Paginator(board, 3)
page = request.GET.get('page')
# board = paginator.get_page(page)
try:
page_list = paginator.page(page)
except PageNotAnInteger:
page_list = paginator.page(1)
except EmptyPage:
page_list = paginator.page(Paginator.num_pages)
context = {'board':board, }
return render(request, 'topics.html',context)
文件url.py
path('boards/<int:id>/', views.boards_topic, name='boards_topic'),
有了这个,在尝试时/boards/1/
,我面临错误
TypeError at /boards/1/
object of type 'Board' has no len()
Request Method: GET
Request URL: http://127.0.0.1:8000/boards/1/?page=1
Django Version: 2.2.3
Exception Type: TypeError
Exception Value:
object of type 'Board' has no len()
更新// 问题已解决。感谢所有帮助过我的人。
视图.py
def boards_topic(request, id):
board = get_object_or_404(Board, pk=id)
board_list = board.topics.all()
paginator = Paginator(board_list, 3)
page = request.GET.get('page')
try:
board_list = paginator.page(page)
except PageNotAnInteger:
board_list = paginator.page(1)
except EmptyPage:
board_list = paginator.page(Paginator.num_page)
context = {
'board':board,
'board_list': board_list,
'page': page,
}
return render(request, 'topics.html',context)
解决方案
推荐阅读
- reactjs - react-navigation-fluid-transitions 的共享属性不起作用
- php - PHP字符串比较同字问题
- c# - 如何从 Xamarin xaml 表单应用程序打开超链接?
- r - 引用中的 R 降价页码
- python - 在 Windows 10 上安装 dlib 的问题(已安装 Cmake)
- python - Django 类别无法正常工作 href 无法正常工作
- javascript - 添加指向 Chart JS 部分的链接
- java - 为什么斐波那契数列的偶数位置之和给出否定答案?
- javascript - 获取用户的实时时间
- apache-spark - 如何将 map parquet 文件读取到案例类以供阅读