【问题标题】:Django urls. Why aren't urls.py included with new app?Django 网址。为什么新应用中不包含 urls.py?
【发布时间】:2020-08-26 12:08:27
【问题描述】:

只是好奇,特别是既然 Django 都是关于 DRY 原则的,为什么它在创建新应用程序时不包含 urls.py? 也许这只是我的情况(我对 Django 比较陌生),但至少 90% 的时间,我需要创建一个 urls.py 文件,这对我来说似乎很重复。我发现在创建 Web 项目/应用程序时还有其他操作重复,但 URL 似乎是结构的基础,所以看不出将它包含在新应用程序创建中会有什么危害。

有什么想法和见解吗?

【问题讨论】:

  • 因为他们希望我们使用主 urls.py,而这对我们来说太长了。所以我们添加了 urls.py 让一切变得简单。这不是相同的方式,但您也可以对 python 提出相同的问题。为什么我们每次都要安装太通用的框架?为什么 python 不包含所有这些框架?
  • 正如答案所说,您可以使用另一个更适合您的模板。就个人而言,我更喜欢在包中也有 views 和 models 和 tests,但这也不是默认值:)
  • 我认为DRY更多的是避免重复代码,而不是在编写代码时避免重复操作。
  • 我了解 DRY 与编码文化/实践有关,我只是在想它不应该扩展到最常见的用例。所以回答的大家不用定期添加额外的urls.py吗?如果你们中的大多数人不得不并且仍然这样做,那么这是一个没有得到解决的明显用例。请注意,这不是被灌输,我只是觉得它很烦人,尤其是如果 Django 是 WEB 框架,我相信可以添加一些不太深的东西以获得更好的体验。

标签: python django


【解决方案1】:

这是默认的 startapp template 行为,Django 团队认为它是最小的(不是每个人都会在每个应用程序中创建 urls.py)

您可以通过提供适合您需要的 app_template 来自定义此行为

来自startapp 文档:

django-admin startapp --template=/Users/jezdez/Code/my_app_template myapp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    相关资源
    最近更新 更多