После обновления ангулярного приложения в браузере: ответ django
В настоящее время я работаю над приложением: Django backend и angular frontend. Все работает хорошо, но после обновления одной страницы в браузере я больше не получаю ангулярный ответ. Но я получаю успешный ответ от моего сервера Django (HTTPResponse: 200). Мой Django urls.py выглядит следующим образом:
from django.urls import path
from quickstart import views
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path('images/', views.ImageList.as_view()),
path('images/<str:id>/', views.Image.as_view()),
path('images/<str:id>/explanations', views.Explanation.as_view())
]
Мой app-routing.modules.ts:
const routes: Routes = [
{path: 'home', component: MainComponent},
{path: 'images', component: ImageComponent, children: [
{
path:':id', component: ImageDetailComponent
}
]},
{path: '', redirectTo: '/home', pathMatch: 'full'},
];
@NgModule({
imports: [RouterModule.forRoot(
routes
)],
exports: [RouterModule]
})
export class AppRoutingModule { }
Спасибо за помощь!
Angular production build обслуживается как статический файл. он делает api запрос к бэкенд серверу для CRUD операций.
что вам нужно сделать, это обслужить статические файлы в папке angular dist (скорее всего, файл index.html в папке dist).
использование некоторого вида маршрутизации в django (предложение имеет префикс для API или веб-приложения, чтобы django знал, что вы запрашиваете. посмотрите this)
или иметь отдельный сервис, размещенный где-нибудь для обслуживания сайта Angular (посмотрите this) и позволить angular обрабатывать маршрутизацию.