Angular 8, Django 3. Я проделывал одну и ту же маршрутизацию и URL, просмотры, сервисы сто раз, но этот единственный маршрут не будет работать по какой-то причине, и я не знаю почему ..
Angular:
html (со ссылкой)
<h2>My Restaurants</h2>
<ul *ngFor = "let restaurant of restaurants">
<a [routerLink]="['/ordersummary', restaurant.id]">Orders</a>
</ul>
app.routing.module
const routes: Routes = [
{path: 'ordersummary/:id', component:OrderSummaryComponent}
];
OrderSummaryComponent
export class OrderSummaryComponent implements OnInit {
constructor(
private orderservice:OrderService,
private router: ActivatedRoute) { }
id;
orders;
ngOnInit() {
this.id = this.router.snapshot.paramMap.get('id')
this.getrestaurantorders(this.id)}
getrestaurantorders(id){
this.orderservice.restaurantorders(id).subscribe(
x => this.orders = x )}}
OrderService
export class OrderService {
private baseUrl2 : string ='http://127.0.0.1:8000/users/'
private restaurantordersUrl : string = this.baseUrl2+'restaurantorders/'
constructor(
private http: HttpClient) { }
restaurantorders(id):Observable<any>{
return this.http.get<any>(this.restaurantordersUrl+id)
}
Django
urls.py
#base urls
urlpatterns = [
path('users/', include('users.urls')),
#users urls
urlpatterns = [
path(r'restaurantorders/<int:pk>', RestaurantOrders.as_view(), name='restaurantorders'),
]
views.py
class RestaurantOrders(generics.RetrieveAPIView):
serializer_class = RestaurantOrderSerializer
queryset = Orders.objects.all()
serializers.py
class RestaurantOrderSerializer(serializers.ModelSerializer):
recipe = RecipeSerializerName
customer = CustomerSerializerShort
class Meta:
model = Orders
fields = '__all__'
Я знаю что Angular запрашивает правильный URL-адрес, потому что я получаю ошибку "Http failure response for http://127.0.0.1:8000/users/restaurantorders/2: 404 Not Found"
. Но URL-адрес http://127.0.0.1:8000/users/restaurantorders/2
прямо здесь ... я не понимаю, все мои другие запросы работают. Я перезапустил сервер, возможно, затем перезапустите Pycharm ..