当时被浏览器的cors搞得红温,不知道有伙伴遇到过类似的问题,就是配置好了跨域问题,但是在eage浏览器上,还是有请求被拦截,但是chrome上却不会,所以突然有了开发时亲啊后端分离,项目整合解决这个问题,并在在部署上线一次性化。
项目目录
下图是一个实际项目的一个目录
dist是vue项目npm run build 打包得到的,会在项目目录自动生成 dist 文件夹;
配置文件
setting.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",
],
},
},
]
..................
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "dist/static"),
]
APSCHEDULER_RUN_NOW_TIMEOUT = 25
路由引入
urls.py
from django.contrib import admin
from django.urls import path,include,re_path
from django.views.generic import TemplateView
urlpatterns = [
..................
path('', TemplateView.as_view(template_name='index.html'), name='index'),
re_path(r'^.*/$', TemplateView.as_view(template_name='index.html')),
..................
]
最后项目运行
http://127.0.0.1:8000/