NoReverseMatch: Перенаправление на новую страницу в Django с помощью запроса из шаблона
Я хочу перенаправить изнутри моего HTML-шаблона на новую страницу, а также передать запрос на эту страницу как запрос GET-запроса.
HTML-код выглядит следующим образом.
<th scope="row">{{ forloop.counter }}</th>
<td>{{ project.article_title }}</td>
<td>{{ project.target_language }}</td>
<td> <a href="{% url 'translation/{{project.id}}/' %}" class="btn btn-success">View Project</a></td>
Это не перенаправляет, и я получаю следующую ошибку.
NoReverseMatch at /manager/
Reverse for 'translation/{{project.id}}/' not found. 'translation/{{project.id}}/' is not a valid view function or pattern name.
Мой шаблон URL выглядит следующим образом
urlpatterns = [
path('', views.project_input_view, name='main'),
path('login/', views.login_user, name='login'),
# path('register/', views.register_user, name='register'),
path('translation/<str:pk>/', views.translation_view, name='translation'),
path('manager/', views.manager_view, name='manager_dashboard'),
path('annotator/', views.annot_dashboard_view, name='annot_dashboard'),
]
Однако, если я напишу следующее, то это сработает.
<th scope="row">{{ forloop.counter }}</th>
<td>{{ project.article_title }}</td>
<td>{{ project.target_language }}</td>
<td> <a href="{% url 'main' %}" class="btn btn-success">View Project</a></td>
но я хочу перенаправить на страницу translation вместе с запросом. Как я могу этого добиться?
Это должно работать, если вы перенаправляете представление на основе класса detail из представления на основе класса list:
{% url 'translation' project.id %}