Python中安装dj-pagination分页程序后运行出错,提示ImproperlyConfigured如何解决?
You need to enable ‘django.core.context_processors.request’. See linaro-django-pagination/README file for TEMPLATE_CONTEXT_PROCESSORS details
python 版本 3.5.4
django 版本 1.11.5
Python中安装dj-pagination分页程序后运行出错,提示ImproperlyConfigured如何解决?
1 回复
这个错误通常是因为dj-pagination没有正确配置到Django项目中。以下是完整的解决方案:
1. 首先确保已安装:
pip install dj-pagination
2. 在settings.py中添加配置:
INSTALLED_APPS = [
# ...其他应用
'dj_pagination', # 添加这行
]
MIDDLEWARE = [
# ...其他中间件
'dj_pagination.middleware.PaginationMiddleware', # 添加这行
]
# 设置每页显示的项目数(可选)
ITEMS_PER_PAGE = 20
3. 在模板中使用分页:
在需要分页的模板文件中(比如template.html):
{% load pagination_tags %}
{% autopaginate object_list %} <!-- object_list是你的查询集 -->
{% for item in object_list %}
{{ item }} <!-- 显示每个项目 -->
{% endfor %}
{% paginate %} <!-- 显示分页导航 -->
4. 在视图中确保传递正确的查询集:
from django.shortcuts import render
from .models import YourModel
def your_view(request):
objects = YourModel.objects.all()
return render(request, 'your_template.html', {'object_list': objects})
关键检查点:
- 确保
dj_pagination在INSTALLED_APPS中 - 确保中间件已添加且位置正确(通常放在最后)
- 模板中正确加载了
{% load pagination_tags %} - 视图传递的变量名与模板中的
object_list一致
如果还是报错,检查Django版本兼容性,dj-pagination可能需要特定Django版本支持。
总结:检查settings配置和模板标签加载顺序。

