【问题标题】:Django Pagination corrupted all the paths to all the .css and .js elementsDjango Pagination 损坏了所有 .css 和 .js 元素的所有路径
【发布时间】: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.pygit 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 文件中的行之一。有人能分辨出是哪一个吗?

【问题讨论】:

    标签: python django django-pagination


    【解决方案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!
    • 是的,您可以不定义它或根据默认值更改它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2019-11-10
    • 2013-08-22
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2021-10-10
    相关资源
    最近更新 更多