我经历过https://docs.djangoproject.com/en/dev/howto/static-files/&有关在Django上放置静态文件的stackoverflow的相关Q& A。
每个项目应用程序都有自己的专用js& css文件。另外还有共享的js&所有应用程序中常见的css文件(例如jquery)。
app1
└── static
└── app1
├── index.js
├── index.css
├── jQuery.1.10.2.js
└── jquery-ui-1.10.3\...
app2
└── static
└── app2
├── index.js
├── index.css
├── jQuery.1.10.2.js
└── jquery-ui-1.10.3\...
问题(特定于开发环境):
我应该在哪里放置jquery& jquery-ui文件?上述设置导致冗余。
- 醇>
我应该如何命名专用的js& css文件。我问这个是因为随着项目的增长,会有多个应用都拥有index.js文件。在编辑器中打开10个index.js文件会非常混乱。我应该叫他们app1_index.js吗?
答案 0 :(得分:2)
我建议创建一个包含公共代码的“共享”应用程序(我通常将其命名为common
或base
)。
app1/static
app2/static
common/static
您的另一个选择是同时使用AppDirectoriesFinder
和FileSystemFinder
下的STATICFILES_DIR
。这是我对这种方法的设置(所有os.path
内容只是使路径相对):
STATICFILES_DIRS = (
os.path.normpath(os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', 'base')),
]
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
关于命名以避免冲突。我建议使用静态资产中的目录来区分:
app1/static/app1/index.js
ap21/static/app2/index.js