Django 自定义分页 - 在 settings.py 中设置为默认值

Django Custom Pagination - setting as default in settings.py

6.30.15 - 我怎样才能使这个问题更好,对其他人更有帮助?反馈会很有帮助。谢谢!

我需要为 Django Rest Framework 设置自定义分页。我创建了一个 pagination.py 文件并将分页设置放在 class.

在 Settings.py 中,我必须使用 'DEFAULT_PAGINATION_CLASS' 指向它。但是,我无法 settings.py 找到它。即使我已经指定了路径。在文档中我注意到有一个类似的 'apps.core.pagination' 路径 - 我必须创建这个吗? 我需要把它放在哪里所以 settings.py 能读懂吗?

'DEFAULT_PAGINATION_CLASS': 
'XXXX_XX_api.static.rest_framework.pagination.CustomPagination' 

更新:6.22.15 我将自定义分页添加到我的设置文件中,但现在出现了一个奇怪的错误。我不确定为什么。我的代码中的一切似乎都是正确的。在错误中,它读取了自定义分页,但它表示未定义分页。有什么想法吗?

 File "/home/dbadmin/epic_ar_api/epic_ar_api/epic_ar_api/pagination.py", line 5, in <module>
    class CustomPagination(pagination.LimitOffsetPagination):
NameError: name 'pagination' is not defined
[22/Jun/2015 13:29:24] "GET /machines/ HTTP/1.1" 500 59
^Cdbadmin@ubuntu:~/epic_ar_api/epic_ar_api$ 

您需要在 REST_FRAMEWORK 设置字典的全局 settings.py 文件中添加 DEFAULT_PAGINATION_CLASS 设置。

假设我的 CustomPagination class 驻留在 my_projectmy_app 中的 pagination.py 文件中。然后我可以执行以下操作:

   REST_FRAMEWORK = {
        'DEFAULT_PAGINATION_CLASS': 'my_project.my_app.pagination.CustomPagination',
        'PAGE_SIZE': 100
    }

#更新:

将以下行添加到您的 pagination.py 文件中:

from rest_framework import pagination

这将导入默认的 rest_framework 分页。