django目录布局说明

django目录布局说明,django,Django,因此,我有一个我刚刚创建的django项目,名为“coolprojectsite”。目录结构如下所示: * media (dir) * mytemplates (dir) * * admin (dir) * * coolprojects (dir) * coolprojectsite (dir) * * coolproject (dir) * * * __init__.py * * * admin.py * * * models.py * * * tests.py * * * urls.py *

因此,我有一个我刚刚创建的django项目,名为“coolprojectsite”。目录结构如下所示:

* media (dir)
* mytemplates (dir)
* * admin (dir)
* * coolprojects (dir)
* coolprojectsite (dir)
* * coolproject (dir)
* * * __init__.py
* * * admin.py
* * * models.py
* * * tests.py
* * * urls.py
* * * views.py
* * __init__.py
* * settings.py
* * urls.py
所以我有几个问题

1) coolprojectsite是否被视为“项目”

2) coolproject是否被视为“应用程序”

3) “媒体”包含css、javascript文件等。这是它们的合适位置吗?它在项目之外

4) “mytemplates”具有包含django标记的特定文件(例如,{%%}),可以访问这些文件,因为my URL.py指向它们。将这些文件放在项目之外是否合适

5) 如果我想包含一些任意的javascript文件(比如jquery),我是否只需要在urls.py中创建一个新条目(如果是,应该是coolprojectsite或coolproject中的条目),然后链接到该url

  • “项目”在Django中并不是一个真正有用的概念。Django教程提到了它,但是开发人员经常在邮件列表中提到他们希望没有引入它。基本上,项目只是代码的容器——但事实上,代码可以位于Pythonpath上的任何位置

  • 是的,您可以拥有多个应用程序,只要它们都添加到settings.py中已安装的应用程序中

  • 他们住在哪里并不重要。您将需要一些东西来为它们服务——在开发中,可以使用内置服务器来完成,但在生产中,您需要将Apache(或任何东西)直接指向这些文件

  • 没关系。加载模板的是视图,同样,只要在settings.py中正确设置了TEMPLATE_DIRS,就可以了

  • 不,绝对不是。如前所述,静态资产位于您的媒体文件夹中,不能通过Django获得服务


  • 就我个人而言,我确实觉得“项目”是一个有用的概念。毕竟,项目是我通常从事的工作——这就是可交付成果。因此,我将我的静态资产目录和模板目录保存在一个包含设置文件的目录中,根URLconf,通常是一些特定于项目的一次性应用程序,将其全部置于版本控制之下,并称之为“项目”。我不认为这有什么问题。关键是要认识到,Django中没有关于某个目录的“魔力”,你可以根据你的工作流程来安排事情,让它工作。你会不会把媒体/和CSS等放在webroot和所有其他文件之上?