Django Pagination 损坏了所有 .css 和 .js 元素的所有路径
Posted
技术标签:
【中文标题】Django Pagination 损坏了所有 .css 和 .js 元素的所有路径【英文标题】:Django Pagination corrupted all the paths to all the .css and .js elements 【发布时间】:2013-06-27 02:04:55 【问题描述】:我希望使用django-pagination,并在安装 django=pagination 后对 settings.py 应用了所有更改,但是当我运行服务器并访问页面时,分页肯定已经到达,但它破坏了所有路径到 css 和 js 元素。因此,该页面没有任何设计。我真的无法理解发生了什么。这是python manage.py runserver
的输出:
[29/Jun/2013 10:26:53] "GET / HTTP/1.1" 200 11594
[29/Jun/2013 10:26:53] "GET /style/bootstrap.min.css HTTP/1.1" 404 3213
[29/Jun/2013 10:26:53] "GET /style/style.css HTTP/1.1" 404 3189
[29/Jun/2013 10:26:53] "GET /style/tabs.css HTTP/1.1" 404 3186
[29/Jun/2013 10:26:53] "GET /images/logo.png HTTP/1.1" 404 3189
[29/Jun/2013 10:26:53] "GET /js/jq.js HTTP/1.1" 404 3168
[29/Jun/2013 10:26:53] "GET /images/green_btn_main.png HTTP/1.1" 404 3219
[29/Jun/2013 10:26:53] "GET /js/jquery.js HTTP/1.1" 404 3180
[29/Jun/2013 10:26:53] "GET /js/bootstrap-tooltip.js HTTP/1.1" 404 3213
[29/Jun/2013 10:26:53] "GET /js/bootstrap-popover.js HTTP/1.1" 404 3213
[29/Jun/2013 10:26:53] "GET /js/bootstrap-tab.js HTTP/1.1" 404 3201
[29/Jun/2013 10:26:53] "GET /images/green_btn-2.png HTTP/1.1" 404 3210
[29/Jun/2013 10:26:53] "GET /images/logo.png HTTP/1.1" 404 3189
[29/Jun/2013 10:26:53] "GET /js/jquery.js HTTP/1.1" 404 3180
[29/Jun/2013 10:26:53] "GET /images/green_btn-2.png HTTP/1.1" 404 3210
[29/Jun/2013 10:26:53] "GET /images/green_btn_main.png HTTP/1.1" 404 3219
[29/Jun/2013 10:26:53] "GET /js/bootstrap-tooltip.js HTTP/1.1" 404 3213
[29/Jun/2013 10:26:53] "GET /js/bootstrap-popover.js HTTP/1.1" 404 3213
[29/Jun/2013 10:26:53] "GET /js/bootstrap-tab.js HTTP/1.1" 404 3201
这是settings.py
中git diff
被修改的部分:
@@ -95,6 +95,8 @@ MIDDLEWARE_CLASSES = (
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
+ 'pagination.middleware.PaginationMiddleware',
+
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
@@ -127,6 +129,7 @@ INSTALLED_APPS = (
'rest_framework',
'south',
'ui',
+ 'pagination',
)
+
+TEMPLATE_CONTEXT_PROCESSORS = (
+ 'django.contrib.auth.context_processors.auth',
+ 'django.core.context_processors.debug',
+ 'django.core.context_processors.i18n',
+ 'django.core.context_processors.media',
+ 'django.core.context_processors.request',
+)
是的,在django-pagination
文档中据说使用django.core.context_processors.auth
而不是django.contrib.auth.context_processors.auth
但是当我遇到正确回答here 的错误时,我使用了前者。它是关于Django 1.4
。是的,我在1.4
有人请帮助我。所有的 UI 设计都消失了,只有文字。
更新:我做了一个git stash
来撤消我的更改,并且所有元素都可以正常加载。它必须是settings.py
文件中的行之一。有人能分辨出是哪一个吗?
【问题讨论】:
【参考方案1】:你输了"django.core.context_processors.static"
,所以你得到了很多404。
DefaultTEMPLATE_CONTEXT_PROCESSORS
是:
("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")
this link 的解决方案可能是更好的做法。
【讨论】:
我再次阅读了它的文档,它说如果尚未定义,则只添加TEMPLATE_CONTEXT_PROCESSORS
。所以我从 settings.py 中删除了它,它起作用了!但我会接受你的回答,因为这看起来也是一个可能的解决方案。 +1!
是的,您可以不定义它或根据默认值更改它。以上是关于Django Pagination 损坏了所有 .css 和 .js 元素的所有路径的主要内容,如果未能解决你的问题,请参考以下文章
django 分页django-pure-pagination
Django Rest Framework 3.1 打破了 pagination.PaginationSerializer