#python #django #django-rest-framework
#python #django #django-rest-framework
Вопрос:
Получение этой ошибки, несмотря на то, что именно так настроены мои представления и URL-адреса:
class MyProfile(generic.TemplateView):
template_name = 'profiletabs/user-profile.html'
extra_context = {'profile': 'active-page'}
from django.urls import path, include
from . import views
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register('tags', views.TagViewSet)
router.register('bots', views.BotViewSet)
app_name = 'profile'
urlpatterns = [
path('', views.MyProfile.as_view(), name='my_profile'),
path('settings/', include(router.urls)),
]
Ответ №1:
Это исключение «NoReverseMatch» возникает, когда URL, который вы отменяете, не существует. Проблема, безусловно, возникает в ваших шаблонах, когда вы пытаетесь повторно использовать некоторые URL-адреса; чтобы избежать этого, вы можете проверить, существовал ли URL-адрес раньше; вот так:
{% url 'url-name' as the_url %}
{% if the_url %}
<a href="{{ the_url }}">Hello</a>
{% endif %}
Комментарии:
1. В этом проблема, хотя вы можете четко видеть, что URL-адрес ‘my_profile’ указан в шаблонах URL, поэтому просто запуск testcase для игнорирования страницы, которую я пытаюсь загрузить, не решит проблему, она просто проигнорирует ее. и ошибка появилась только после того, как я подключил маршрутизатор.