【问题标题】:How is django's default root homepage rendered?django 的默认根主页是如何渲染的?
【发布时间】:2021-10-27 01:29:48
【问题描述】:

这是一种想知道的痒。这里有很多问题询问如何替换默认的 Django 主页(e.g.)。我理解那个问题。我很想知道在创建新项目时(即在调试模式下)默认页面是如何呈现的。尽管我的问题不像知道如何替换默认主页那样直接实用,但我有一种感觉,如果我弄清楚了,我可能会理解 Django 的工作原理。

我希望它位于默认的 urls.py 文件中,但默认情况下,urls.py 的 urlpatterns 中唯一的条目是 path('admin/', admin.site.urls)。我的第一个天真的期望是 urlpatterns 中的一个条目,您可以删除或注释掉它。由于除了admin/之外什么都没有,我猜还有一些其他内置应用程序或中间件指定了默认主页,但我不知道在哪里看。

到目前为止,这是我理解这一点的进展:

到目前为止,Django 非常简单,但这似乎很神奇,所以我试图弄清楚幕后发生了什么。

感谢您的帮助!

【问题讨论】:

    标签: python django url routes


    【解决方案1】:

    相关代码为here。 django基本有一种特殊情况,就是在url配置中找不到匹配的url,请求的路径是/,在url配置中只有一个入口。

    在这种情况下,它会加载一个 default_urlconf renders that welcome template 来代替常规的 404 响应。

    这是从technical_404_response 函数内部调用的,当DEBUG=Trueis only called

    【讨论】:

    • 非常棒的 Django 处理过程,非常感谢!
    猜你喜欢
    • 2014-12-09
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多