[Django] 一个Django服务多个Quasar前端工程

2022-05-22  本文已影响0人  alue

为了使用新的技术栈,接到各部门的新需求时,往往都会新建一个前端工程,但后端还是最开始的Django工程。这里记录一下配置清单。

Django 配置

  1. 静态文件目录, 包含Django自身静态文件和前端工程构建输出的静态文件
STATICFILES_DIRS = [BASE_DIR / 'static', BASE_DIR / 'frontend1/dist',BASE_DIR / 'frontend2/dist',... ]
  1. 静态文件根目录,执行 collectstatic 后,步骤1所有静态文件会被复制到下面的文件夹内
STATIC_ROOT = BASE_DIR / 'staticfiles'
  1. 入口模板文件配置, 这里把根目录 STATIC_ROOT 放在 DIRS,告诉Django,模板的入口先从打包结果中查找。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [STATIC_ROOT, BASE_DIR / 'templates'],
         # ...
    },
]
  1. 路由配置。主要有两类,一个是API,另一个入口文件是各自前端工程的index.html。
urlpatterns = [
    path('frontend1_api/', include('frontend1.urls')),
    path('frontend2_api/', include('frontend2.urls')),

    path('frontend1/', never_cache(TemplateView.as_view(template_name='frontend1/index.html'))),
    path('frontend2/', never_cache(TemplateView.as_view(template_name='frontend2/index.html'))),
]

Quasar 配置

主要需要配置构建参数 publicPathdistDir, 分别代表静态资源路径和打包位置。

    build: {
      publicPath: "/static/frontend1/",
      distDir: "dist/frontend1",
}
上一篇下一篇

猜你喜欢

热点阅读