django目录布局说明

Dan*_*iel 8 django

所以我创建了一个名为'coolprojectsite'的django项目,目录结构如下所示:

* 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
Run Code Online (Sandbox Code Playgroud)

所以我有几个问题.

1)coolprojectsite被认为是'项目'

2)coolproject是否被认为是"应用程序"

3)'media'包含css,javascript文件等.这是适合他们的地方吗?它在项目之外.

4)'mytemplates'具有包含django标记的特定文件(例如{%%}),因为我的urls.py指向它们,所以它们被访问.将这些文件放在项目之外是否合适?

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

Dan*_*man 9

  1. "项目"在Django中并不是一个真正有用的概念.Django教程提到了它,但开发人员经常在邮件列表中提到他们希望他们没有引入它.基本上,项目只是代码的容器 - 但实际上代码可以存在于Python路径的任何位置.

  2. 是的,您可以拥有多个应用程序,只要它们全部添加到settings.py中的INSTALLED_APPS即可.

  3. 他们住在哪里都没关系.您将需要一些东西来为它们服务 - 在开发中,它可以使用内置服务器完成,但在生产中,您需要将Apache(或其他)直接指向文件.

  4. 无所谓.这是加载模板的视图,只要在settings.py中正确设置TEMPLATE_DIRS就可以了.

  5. 不,绝对不是.如上所述,静态资产存在于您的媒体文件夹中,而不是通过Django提供服务.

  • 就个人而言,我确实发现"项目"是一个有用的概念.毕竟,项目是我通常所做的工作 - 这是可交付成果.所以我将我的静态资产目录和我的模板目录保存在一个包含设置文件,根URLconf的目录中,通常是一些一次性项目特定的应用程序,将它全部置于版本控制之下并称之为"项目".我不认为这有什么不妥.关键是要意识到Django中没有关于某个目录的"魔力",你可以安排几乎适合你的工作流程并让它工作. (6认同)