Django NoReverseMatch не является допустимым именем функции представления или шаблона
У меня проблемы со старым проектом, который работал на устаревшей версии django. Я обновил django до 4.1.5 и сделал несколько правок в файлах urls.py, которые использовали python из django.conf.urls. Я изменил это на использование re_path, но теперь столкнулся с проблемой, которую не смог решить.
Сервер запускается нормально, но когда я пытаюсь получить доступ к любой из страниц, я получаю следующую ошибку: Error:
NoReverseMatch at /control/ Reverse for 'control.views.set_notes' not found. 'control.views.set_notes' не является допустимой функцией представления или именем шаблона.
Глядя на трассировку, вот где, похоже, происходит ошибка, начиная со строки url ниже:
$.ajax({
url: "{% url 'control.views.set_notes' %}",
type: "POST",
data: {
'csrfmiddlewaretoken': '{{ csrf_token }}',
'notes' : notes
},
error: function (error) {
alert("error setting notes to " + notes);
},
success: function (response) {
}
У меня корневой urls.py настроен следующим образом:
from django.urls import include, re_path
urlpatterns = (
re_path(r'^control/', include('control.urls')),
re_path(r'^profiles/', include('profiles.urls')),
re_path(r'^roasts/', include('roasts.urls')),
)
Моя другая установка control.urls.py выглядит следующим образом:
from django.urls import re_path
import control.views
urlpatterns = (
re_path(r'^$', control.views.index),
re_path(r'^get_state/$', control.views.get_state),
re_path(r'^cancel_profile/$',control.views.cancel_profile),
re_path(r'^get_profile/$', control.views.get_profile),
re_path(r'^set_temp/$', control.views.set_temp),
re_path(r'^set_notes/$', control.views.set_notes),
re_path(r'^add_marker/$', control.views.add_marker),
re_path(r'^set_mode/$', control.views.set_mode),
)
Я действительно в тупике в этом вопросе, кажется, что я упускаю что-то очень очевидное, но я начал заниматься этим весь день.