django中的命名约定是强制性的吗?

时间:2014-11-03 13:50:02

标签: python django python-2.7 django-models

在Django中,您可以将文件命名为models.pyviews.pyurls.py等。我想知道,如果这个命名约定对于Django是强制性的。如果将模型放在名为foo.py的文件中,Django的功能是否会中断?我的意思是,只有进口线应该改变,对吧?或者框架完成这个命名文件有什么魔力吗?

当然,我不会给我的文件蹩脚的名字;但我很好奇。

2 个答案:

答案 0 :(得分:3)

视图,可以配置网址。

  • url:您可以通过设置<project>.settings.ROOT_URLCONF来定义您的一个网址,并添加您的应用程序&#39;网址。
  • views:根据需要导入视图或使用视图名称。

但是对于模型,有关于django代码和其他第三方应用程序中的模型模块名称的假设。 (https://github.com/django/django/blob/stable/1.7.x/django/apps/config.py#L9

答案 1 :(得分:1)

最好是创建模块而不是出于以下几个原因:

  • 你将使它与Django惯例保持一致,使其他人更容易使用它
  • 您可以为文件提供更具描述性的适当名称
  • 你会避免真正长文件

所以你有:

- my_application
  - urls
    - sub_set_urls_1.py
    - etc.
  - models
    __init__.py <= import your models in here
    sub_set_models_1.py
    etc.
  - views
    sub_set_views_1.py
    etc.

models涉及的内容更多,您需要在__init__.py中导入模型。另一种方法是拥有models.py文件并将模型放在其他地方:Split models.py into several files