Django项目代码架构风格

Django目录结构的思考

从Ruby on Rails 以及 Django ,都是以rule来帮助完成编程的,约定俗成是非常重要的编程手段。

刚开始学习Django的时候,有一个问题就困扰我,该如何安排Django目录结构。

有两种主要的Django项目目录结构

project/
    manage.py
    project/
        app_a/
            models.py
            views.py 
            ...
        app_b/
            models.py
            views.py 
            ...
        settings.py
        wsgi.py
        urls.py
project/
    manage.py
    project/
        settings.py
        wsgi.py
        urls.py
    app_a/
        models.py
        views.py 
        ...
    app_b/
        models.py
        views.py 
        ...

目前从Django 1.4开始,推荐采用后者目录结构。主要是因为app可以复用到不同的project,所以独立出project目录。

此外,Reddit的讨论How do you structure your Django project?也提供了其他的目录结构,例如

以正确的方式开始Django项目?

Jeff Knupp写过很多有关Python编程经验的blog,有关Djgango的结构先后有3篇,特别是Starting a Django 1.6 Project the Right Way,分析很详尽,可作为初学者解惑的起步。

混合Djiango REST framework和常规Web结构

现代网站混合了

参考

Last updated

Was this helpful?