Я новичок в этом деле. Во-первых, это мой urls.py
urlpatterns = [
path('results/<int:id>/', views.abstract, name='abstract'),
path('results/', views.result, name='result'),
path('', views.index, name='index'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
и мои wiews
def index(request):
return render(request, 'online_sp/index.html')
def result(request):
script = Main()
data = script.json_dt
if 'No result' in data.keys():
no_result = True
return render(request , 'online_sp/scripts.html', {'no_result':no_result})
else:
return render(request , 'online_sp/scripts.html', data)
def abstract(request, id):
return render(request , 'online_sp/abstract.html')
. Моя цель - получить страницу результатов / 1 / одним нажатием кнопки со страницы результатов / '. (скрипт. html)
<a style="margin-left: 10%;" class="btn btn-dark" href="{% url 'abstract' 1%}" role="button">Abstratc</a>
, но он выдает ошибку NoReverseMatch и говорит, что в строке 0 в базе содержится ошибка. html, которая является шаблоном заголовка.
NoReverseMatch at /results/
Error during template rendering
In template C:\MyPythonScripts\not_a_vlog\online_sp\templates\online_sp\base.html, error at line 0
Reverse for 'abstract' with no arguments not found. 1 pattern(s) tried: ['results/(?P<id>[^/]+)/$']
1 <!doctype html>
2 <html lang="en">
3
4 <head>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1,
7 shrink-to-fit=no">
8 <title>{% block title %}Search Similar Papers{% endblock title %}</title>
9 </head>
10
, но когда я меняю
path('results/<int:id>/', views.abstract, name='abstract')
на
path('<int:id>/', views.abstract, name='abstract')
, он получает результаты / страницу с шаблоном тезисов. Тем не менее, я должен go результатов / страницы в первую очередь и нажмите кнопку, чтобы получить результаты / 1 /. я в замешательстве.
РЕДАКТИРОВАТЬ:
я узнал, что порядок важен на urls.py. новый urls.py:
urlpatterns = [
path('results/', views.result, name='result'),
path('results/<id>/', views.abstract, name='abstract'),
path('', views.index, name='index'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
дело закрыто: P