404 Страница не найдена Django, хотя она находится в urls.py - PullRequest
0 голосов
/ 13 июля 2020

Я не знаю, почему я получаю сообщение об ошибке 404 на странице «Полеты» / 1, хотя ясно, что у меня есть шаблон URL-адреса для <int:flight_id> (полеты - это приложение). Помогите!

Мой urls.py для проекта

from django.contrib import admin
from django.urls import path
from django.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('flights/', include('flights.urls'))
]

Мой urls.py для приложения «Полеты»

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
    path("<int:flight_id>", views.flight, name="flight"),\
]

И views.flight

def flight(request, flight_id):
    flight = Flight.objects.get(id=flight_id)

    return render(request, "flights/flight.html", {
        "flight": flight,
        "passengers": flight.passengers.all(),
        "non_passengers": Passenger.objects.exclude(flights=flight).all()
    })

Шаблон

{% extends "flights/layout.html" %}

{% block body %}
    
    <h1>Flight {{ flight.id }}</h1>

    <ul>
        <li>Origin: {{ flight.origin }}</li>
        <li>Destination: {{ flight.destination }}</li>
        <li>Duration: {{ flight.duration }}</li>
    </ul>

    <h2>Passengers</h2>

    <ul>
        {% for passenger in passengers %}
            <li>{{ passenger }}</li>
        {% empty %}
            <li>No passengers.</li>
        {% endfor%}
    </ul>

    <h2>Add Passenger</h2>

    <form method="POST" action="{% url 'flight' flight.id book %}">
        {% csrf_token %}
        <select name="passengers">
            {% for passenger in non_passengers %}
                <option value="{{ passenger.id }}">{{ passenger }}</option>
            {% endfor %}
        </select>
    </form>

    <a href="{% url 'index' %}">Back to Flight List</a>
{% endblock %}

С макетом. html обозначает html шаблонный код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...