1,在django項目下(app所在目錄),新建vue項目,使用腳手架構建vue項目,vue create (項目名)
2,構建好以后,配置django:
(1),配置settings:
· 修改templates:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'(vue項目根目錄名)/dist')], //只修改這一條,將dist文件路徑寫入
· 添加STATICFILES_DIRS字段:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '(vue項目根目錄名)/dist/static') //static路徑需要配置vue,下面會說到(第5點)
STATICFILES_DIRS = [ os.path.join(BASE_DIR, "(vue項目根目錄名)/dist"),]
3,在app視圖中添加視圖函數,渲染index.html(dist中的html頁面)頁面:
def index(request):
request.META["CSRF_COOKIE_USED"] = True //這個防跨域的
return render(request,'index.html')
4,url中配置路徑:
path('index/',views.index,name='index'),
5,vue中添加vue.config.js修改dist靜態文件路徑配置:
module.exports = {
// 輸出目錄
assetsDir: 'static',
// 基本路徑
// baseUrl: './',
};
6,切換至vue項目所在目錄,npm run build,然后將dist/static/靜態文件(css,js等文件)抽離值dist目錄下,刪除static目錄。然后即可通過django后端訪問vue頁面
注:每次修改vue,都需要重重新build,切抽離靜態文件