我开始为后端学习Django Rest Framework并使用Angular 4作为前端。我读过有些人通过GIT将两者分开来实现可伸缩性和团队分离等等,所以我想我会遵循这个想法,并尝试将两个单独的目录分开。
我已经在Apache的Centos7盒子上安装了Django。 (网络服务器在我的家庭网络上,并通过我的家用路由器进行端口转发)Django文件位于一个目录中,我的Angular文件位于一个单独的目录中。
服务器上还有很多其他项目,所以我没有在root上运行Django。一个示例网址是http://0.0.0.0/project1
我还有http://0.0.0.0/project2
等等......这个Django项目是http://0.0.0.0/myproject/api
我可以访问并运行得很好。但是,当我将前端代码放在前端目录(http://0.0.0.0/myproject/front_end
)并尝试访问它时,我得到一个Django 404错误。 (我有debug = True)
我的目标是让我的api访问http://0.0.0.0/myproject/api/example
,并使用http://0.0.0.0/myproject
访问前端。我可能不得不使用虚拟主机来实现这一点,但我不确定。
我无法弄清楚为什么当我的Django项目位于不同的文件夹中时会出现404?如何从front_end目录运行我的Angular 4项目?
/var/www/html/myproject
├── api
│ ├── core (Django files)
│ ├── etc...
└── front_end
├── app (Angular 4 files)
├── etc...
router = DefaultRouter()
router.register(r'movie', views.MovieViewSet, 'movie')
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include(router.urls)),
url(r'^api/login', obtain_jwt_token),
url(r'^api/refresh/token/', refresh_jwt_token),
url(r'^api/verify/token/', verify_jwt_token),
]
我不确定这是否会有所帮助,但也许这里的问题导致了这个问题:
Alias /static /var/www/html/myproject/api/core/static/
<Directory /var/www/html/myproject/api/core/static/>
Require all granted
</Directory>
<Directory /var/www/html/myproject/api/core/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/var/www/html/myproject/api/
WSGIProcessGroup myproject
WSGIScriptAlias /myproject /var/www/html/myproject/api/core/wsgi.py
注意,我对Django很新,所以我不确定哪些代码对发布有帮助。让我知道我应该发布什么,我将编辑我的帖子。