django 默认的root 主页是如何渲染的?
How is django's default root homepage rendered?
这是一种想知道的痒。这里有很多问题询问如何替换默认的 Django 主页 (e.g. )。我明白那个问题。我很想知道在创建新项目时(即在调试模式下)默认页面是如何呈现的。尽管我的问题不像知道如何替换默认主页那样直接实用,但我觉得如果我弄明白了,我可能会更好地理解 Django 的工作原理。
我希望它在默认的 urls.py 文件中,但 urls.py 的 urlpatterns
中默认的唯一条目是 path('admin/', admin.site.urls)
。我第一个天真的期望是 urlpatterns 中的一个条目,您可以将其删除或注释掉。由于除了 admin/
之外什么都没有,我猜还有一些其他内置应用程序或中间件指定了默认主页,但我不知道去哪里找。
到目前为止,这是我对此的理解进展:
- 在 settings.py 中注释掉
DEBUG=True
会导致默认主页不再出现。
- 我看过 this documentation about how Django processes requests,其中提到可以在更改默认值的请求上设置 urlconf 属性的中间件,
ROOT_URLCONF
。
到目前为止 Django 一直非常简单,但这似乎很神奇,所以我想弄清楚幕后发生了什么。
感谢您的帮助!
相关代码为here。 Django 基本上有一种特殊情况,当在 URL 配置中找不到匹配的 URL 时,请求的路径是 /
,并且 URL 中只有一个条目配置。
在这种情况下,它会加载一个 default_urlconf
,其中 renders that welcome template 代替常规的 404 响应。
这是从 technical_404_response
函数内部调用的,is only called 当 DEBUG=True
.
这是一种想知道的痒。这里有很多问题询问如何替换默认的 Django 主页 (e.g. )。我明白那个问题。我很想知道在创建新项目时(即在调试模式下)默认页面是如何呈现的。尽管我的问题不像知道如何替换默认主页那样直接实用,但我觉得如果我弄明白了,我可能会更好地理解 Django 的工作原理。
我希望它在默认的 urls.py 文件中,但 urls.py 的 urlpatterns
中默认的唯一条目是 path('admin/', admin.site.urls)
。我第一个天真的期望是 urlpatterns 中的一个条目,您可以将其删除或注释掉。由于除了 admin/
之外什么都没有,我猜还有一些其他内置应用程序或中间件指定了默认主页,但我不知道去哪里找。
到目前为止,这是我对此的理解进展:
- 在 settings.py 中注释掉
DEBUG=True
会导致默认主页不再出现。 - 我看过 this documentation about how Django processes requests,其中提到可以在更改默认值的请求上设置 urlconf 属性的中间件,
ROOT_URLCONF
。
到目前为止 Django 一直非常简单,但这似乎很神奇,所以我想弄清楚幕后发生了什么。
感谢您的帮助!
相关代码为here。 Django 基本上有一种特殊情况,当在 URL 配置中找不到匹配的 URL 时,请求的路径是 /
,并且 URL 中只有一个条目配置。
在这种情况下,它会加载一个 default_urlconf
,其中 renders that welcome template 代替常规的 404 响应。
这是从 technical_404_response
函数内部调用的,is only called 当 DEBUG=True
.