Django中静态/模板文件的存储位置,请参见;两勺Django“;
我是一名读者,也是这本畅销书的忠实粉丝。 这本书充满了伟大的思想,但有一个我并不清楚 作者建议在Django项目根目录中创建一个Django中静态/模板文件的存储位置,请参见;两勺Django“;,django,django-templates,django-staticfiles,Django,Django Templates,Django Staticfiles,我是一名读者,也是这本畅销书的忠实粉丝。 这本书充满了伟大的思想,但有一个我并不清楚 作者建议在Django项目根目录中创建一个静态和模板文件夹。 该template文件夹用于“站点范围的模板”(见第24页)。 此外,在pag.162,他们说“模板通常应该放在Django项目的根文件夹中……唯一的例外是当你将一个应用捆绑到第三方软件包中时” 他们在第12章中没有明确提到,但我想最好在模板根目录中为每个应用程序(与应用程序同名)创建一个文件夹。 让我们假设在我的icecreamratingsDja
静态
和模板
文件夹。该
template
文件夹用于“站点范围的模板”(见第24页)。
此外,在pag.162,他们说“模板通常应该放在Django项目的根文件夹中……唯一的例外是当你将一个应用捆绑到第三方软件包中时”
他们在第12章中没有明确提到,但我想最好在模板
根目录中为每个应用程序(与应用程序同名)创建一个文件夹。让我们假设在我的
icecreamratings
Django项目中,我有两个应用程序:
带有两个模板:new_flavor.html和details.htmlflavors
带有1个模板:details.html 所有模板都继承自配置文件
base.html
icecreamratings_project/
|-- ...
|-- icecreamratings/ # Django project root
|-- ...
|-- static/
|-- templates/
|-- 404.html
|-- 500.html
|-- base.html
|-- flavors/ # same name as app flavor
| |-- new_flavor.html
| |-- details.html
|-- profiles/ # same name as app profiles
|-- details.html
我没弄错吧
另一方面,建议在每个应用程序中创建一个static
文件夹,并在其中创建一个与应用程序同名的子文件夹,如:my_app/static/my_app/myimage.jpg
因此,我们有两种不同的策略:一个独特的模板
文件夹和许多静态
文件夹(每个应用程序中一个)。
有两种不同的策略显然是一个糟糕的选择
那么,您认为在每个应用程序中存储一个模板
和静态
文件夹怎么样?
大概是这样的:
icecreamratings_project/
|-- ...
|-- icecreamratings/ # Django project root
|-- ...
|-- static/ # site-wide static files
| |-- bootstrap/ # bootstrap source files
| |-- jquery/ # jquery source files
| |-- css/ # css files used by base.html (and others in templates root)
| |-- js/ # javascript files used base.html (and others in templates root)
| |-- img/ # img files files used base.html (and others in templates root)
|-- templates/ # site-wide templates
| |-- 404.html
| |-- 500.html
| |-- base.html
|-- flavors/ # an app
|-- static/
| |-- flavors/ # static files specific for this app
| |-- css/ # css files for flavor app templates
| |-- js/ # javascript files for flavor app templates
| |-- img/ # img files for flavor app templates
|-- templates/ # template files specific for this app
|-- new_flavor.html
|-- details.html
django官方文档不建议您在每个应用程序中创建静态文件夹。相反,它更喜欢将静态目录存储在项目目录下 现在,我们可能可以不使用静态文件 直接在我的应用程序/静态/(而不是创建另一个我的应用程序) 子目录),但这实际上是个坏主意。Django将使用 它找到的第一个名称匹配的静态文件,以及 在另一个应用程序Django中使用相同名称的静态文件 将无法区分它们。我们需要能够 将Django指向正确的一个,确保这一点的最简单方法是 通过命名它们也就是说,将这些静态文件放入 另一个为应用程序本身命名的目录。 官方文件也回答了你关于模板结构的问题 从文件系统上的Django应用程序加载模板适用于中的每个应用程序 如果已安装应用程序,加载程序将查找模板子目录。 目录存在,Django在其中查找模板 这意味着您可以将模板与您的单个应用程序一起存储。这 还可以使用默认模板轻松分发Django应用程序 两勺Django是一本很棒的书。但是你应该先看官方文件