0

在我的settings.py,我有STATIC_URL='/static/'

我有一个视图用作静态 url 的后备

class MyView(View):
    def get(request):
        return XXX

我像这样将它添加到我的网址中

urlpatterns += [url(r'^/static/', MyView.as_view())]

接下来,我想确保后备 URL 正常工作。当我转到一个错误的链接时,localhost/static/garbage它会向我显示 Django 404 错误页面,但它声称它是由MyView.

非常令人沮丧的是我有两个应用程序处理相同的静态文件。其中一个应用程序会触发我的视图,而另一个则不会。我无法说出导致问题的不同之处。两者都在whitenoise==4.1.x并且django==2.3

4

1 回答 1

0

在 wsgi 而不是runserver.

出于某种原因,在使用 runserver 时,Django 具有不同的静态资产路由逻辑,其中绕过了 MyView,我得到了不同的 404 页面。当我切换到 gunicorn 时,一切正常。

于 2020-01-02T22:14:17.447 回答