现在,我在同一个项目中运行了2个应用程序。对于前端,我使用的是Angular,理想情况下,我希望将所有这些组合在一起。
然而,Django的模板和静态文件的处理方式是将它们放在应用程序的文件夹中。
将这些放在一个地方的正确方法是什么?我不需要在我的应用程序的每个文件夹中都有模板和静态文件夹,因为我使用的是前端框架。
例如:我在 urls.py
中有此功能url(r'^$', TemplateView.as_view(template_name='base.html')),
如果我将base.html文件放在以下任一项中,则此方法有效:
那么,做这样的事情的传统正确方法是什么?
答案 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