我如何将Vue js SPA部署到Django服务器中?

问题描述 投票:3回答:1

我目前正在遵循有关将Vue.js前端与Django后端集成的指南:https://medium.com/@williamgnlee/simple-integrated-django-vue-js-web-application-configured-for-heroku-deployment-c4bd2b37aa70

目前,我只希望能够将默认的Vue.js样板index.html页面呈现到http://localhost:8000/的Django服务器中>

我使用django-admin startproject django-vue-template初始化Django,并在新创建的django-vue-template文件夹中运行vue create .初始化Vue CLI。然后,我运行了npm run build,所以我的项目文件夹树现在看起来像this

我也将这些更改添加到我的settings.py:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'dist')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'dist/static'),
]

以及对我的urls.py的这些更改:

urlpatterns = [
  path('admin/', admin.site.urls),
  url(r'^$', TemplateView.as_view(template_name='index.html')),
]

根据指南,当我运行index.html时,我应该已经在http://localhost:8000/上看到了Vue.js python manage.py runserver页面,但是除了白色屏幕之外什么都没有呈现,当我检查控制台时,我被错误轰炸如图here所示的404s。

Django似乎能够找到我的index.html,但它找不到并导入其SPA功能正常运行所需的css和js文件。

我目前正在遵循将Vue.js前端与Django后端集成的指南:https://medium.com/@williamgnlee/simple-integrated-django-vue-js-web-application-configured-for- heroku -...

javascript python django vue.js vue-cli-3
1个回答
0
投票

您必须手动配置

© www.soinside.com 2019 - 2024. All rights reserved.