前端(以Vue为例)webpack打包后dist文件包如何部署到django后台中

       由于现在前端使用的三大框架配合webpack可以实现快速打包,为部署到服务端提供了非常大的便利,那么在前端打包后,应该做些什么可以部署到django的后台中呢?

1.打包后文件包dist

进入到 dist文件包会发现是这个样子的:

2.在django项目中创建前端文件包(静态资源包,我习惯起名为frontend) 

       然后把dist文件包中的static文件包和index.html拷贝过去,接着把static文件包中的所有文件都剪切到上一层目录,由于我们Vue构建的是单页应用所以一般只有一个html。做完这些后吧static这个空文件包删掉就行了。这样就形成了django后台的静态文件包。

3.在settings中配置静态文件以及模板

          这里的index.html就相当于是template中的html文件,为了方便就把静态资源和这个模板文件整合在一个文件包中。

          首先是template配置:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'frontend')],
        '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_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "frontend"),
]

4.创建一个app,并且在views中写一个index路由函数,并且在url中配置首页

#加载静态界面index首页
def index(request):
    request.META["CSRF_COOKIE_USED"] = True
    return render(request,'index.html')

request.META["CSRF_COOKIE_USED"] = True这句可以对vue单页应用进行csrf_token设置,方便进行csrf防御

urlpatterns = [
    url(r'^baseapi/', include("baseapp.urls")),
    url(r'^.*?$',views.index,name="index"),
]

 url(r'^.*?$',views.index,name="index")设置后,启动django,访问8000端口就可以加载到前端的路由了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlexGeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值