Django:即使未在settings.py中将APPEND_SLASH设置为True?

Ali*_*uis 5 python django web

这是我的urls.py

urlpatterns = [
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)

如果输入127.0.0.1:8000/polls浏览器(Firefox),我将被重定向至127.0.0.1:8000/polls/(末尾有斜杠)。

老实说,我很困惑为什么会这样。因为在我settings.py那里没有

APPEND_SLASH = True
Run Code Online (Sandbox Code Playgroud)

但是,Django文档说:

APPEND_SLASH

默认值:True

设置为True时,如果请求URL与URLconf中的任何模式都不匹配,并且不以斜杠结尾,则将HTTP重定向发送到同一URL,并附加斜杠。请注意,重定向可能会导致POST请求中提交的所有数据丢失。

来源:https : //docs.djangoproject.com/en/1.11/ref/settings/#append-slash

即使APPEND_SLASH不在,默认情况下它是否也为True settings.py?而且,如果要将其设置为False,则仅应将其放入此文件中?还是该行为的原因是什么?

knb*_*nbk 7

是的,默认值为True,因此,如果您未在设置文件中提供它,则为True

您的设置文件中未定义的任何设置都将使用默认值,该默认值在中提供django.conf.global_settings