此文主要思路是参考angular官网的流程
然后只是描述了发布到django的一些细节
先在angular的目录进行打包命令
ng build --prod
就像官网说的那样部署
官网对应地址
https://angular.cn/guide/deployment
然后复制dist中自己文件目录,假设目录名字叫做angular-test,那么dist目录里就会有一个叫做angular-test的文件夹
把这个文件夹里index.html复制到自己模板文件目录下,把其他文件复制到自己静态资源目录下
然后修改资源加载的路径,让路径正确指向自己的资源文件
然后设置index.html里的<base href="/">
把这个路由根地址,设置成自己的django设置的路由地址,比如你的django里是通过http://127.0.0.1:8000/polls/test访问的
那么这里就应该写成<base href="/polls/test">
不然会有一行报错,并且一些关于路由改变的功能也无法使用
另外一个目标就是把官网中
这一段设置成符合django的设置
在自己的urls.py中
增加import re_path;
大概如下
from django.urls import path,re_path
然后在
re_path(r'^ang/.*', views.ang, name='ang'),
这一段的意思是使用正则表达式解析第一段的字符串【如果使用path是不能解析正则的】,然后其余写法都和path一样。正则的意思是,匹配以ang/开头的url到ang目录【这个也会默认匹配到ang的(没有斜杆的ang也会匹配到)】
因此这一段你们需要修改成自己的路径
比如自己的路由是test,那么这里改成r'^test/.*'
到了这一步,我的应用已经可以无报错的运行了。