如何在Django项目中管理多个应用程序的模板和静态文件?

时间:2017-02-04 15:56:55

标签: python django django-templates

现在,我在同一个项目中运行了2个应用程序。对于前端,我使用的是Angular,理想情况下,我希望将所有这些组合在一起。

然而,Django的模板和静态文件的处理方式是将它们放在应用程序的文件夹中。

将这些放在一个地方的正确方法是什么?我不需要在我的应用程序的每个文件夹中都有模板和静态文件夹,因为我使用的是前端框架。

例如:我在 urls.py

中有此功能
url(r'^$', TemplateView.as_view(template_name='base.html')),

如果我将base.html文件放在以下任一项中,则此方法有效:

  • myapp1 /模板/
  • myapp2 /模板/

那么,做这样的事情的传统正确方法是什么?

1 个答案:

答案 0 :(得分:1)

Django静态设置

您可以使用静态设置解决此问题,将所有静态相关文件放入静态文件夹中,满足您的需求,例如

a * b = exp[log(a) + log(b)]

settings.py

project/static/app1/css/style.css
project/static/app2/css/style.css 

urls.py

import os
def root(folder):
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',folder)

STATIC_ROOT = root('staticstorage')
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
    root('static'),
)

确保你有朗姆酒from django.conf.urls.static import static from django.conf import settings urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

在模板文件夹中

base.html文件

python manage.py collectstatic