Django项目中python类的最佳位置是什么?

时间:2009-04-18 22:02:07

标签: django

这可能听起来微不足道,但我想知道我应该把我的python类放在哪里(不是来自Model)?

我的意思是,我的模型类在myapp/models.py中定义,但我希望,例如,使用联合供稿框架来编写简单的供稿。 The doc说我需要写一个Feed类但是...我应该把代码放在哪里?哪个路径和文件?我想坚持使用默认的Django目录结构。

谢谢!

3 个答案:

答案 0 :(得分:11)

你可以自由地把它放在你想要的地方。

示例:

project
  myapp 
     views.py
     models.py
     feeds.py

然后您可以使用导入导入您的Feed模块。

来自project.myapp.feeds import *

当您处理大量文件时,制作目录会更好。例如:

project
    myapp
      models.py
      views.py
      extras
        feeds.py
        sitemaps.py

我建议你阅读:Python Modules: Packages

答案 1 :(得分:3)

对于与Feed相关的类,通常将它们放在相应应用程序模块中名为feeds的模块中。例如,如果您有一个包含RSS源的博客,那么您的项目结构将如下所示:

project/
    blog/
        __init__.py
        feeds.py
        models.py
        views.py

一般情况下,对于其他非模型类,您可以将它们放在任何您想要的位置(如Andrea Di Persio所述)。通常,您将它们作为模块放在适当的应用程序包中。对于通用类,我通常会创建一个名为lib的包,其中包含一般类和函数,如下所示:

project/
    blog/
        __init__.py
        feeds.py
        models.py
        other_stuff.py
        views.py
    lib/
        __init__.py
        things.py

答案 2 :(得分:0)

Models.py

对于你的clas来说,最好的位置是beacuse模型对数据的支持(在数据库中)