Django остальные рамки, пытаясь настроить просматриваемый API - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть Django rest framework, и я пытаюсь настроить один из API API, доступных для просмотра, но я не могу ссылаться на него в HTML файле.

<!DOCTYPE html>
{% load rest_framework %}
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Second GDT Options</title>
</head>
<body>
<form action="{% url 'secondgdt' %}" method="post">
    {% csrf_token %}
    {% render_form serializer %}
    <input type="submit" value="Save">
</form>
</body>
</html>

secondgdt / urls.py:

from django.urls import include, path
from rest_framework.routers import DefaultRouter

from .views import PointsViewSet

router = DefaultRouter()
router.register(r'secondgdt', PointsViewSet, basename='secondgdt')

urlpatterns = [
    path('', include(router.urls)),

]

Этот код вызывает следующую ошибку при запуске сервера:

NoReverseMatch at /secondgdt/
Reverse for 'secondgdt' not found. 'secondgdt' is not a valid view function or pattern name.

setting.py

ROOT_URLCONF = 'triangulationapi.urls'

triangulationapi / urls.py


urlpatterns = [
                  path('admin/', admin.site.urls),
                  path('accounts/', include('django.contrib.auth.urls')),
                  path('', include('landingpage.urls')),
                  path('', include('threelocationstrian.urls')),
                  path('', include('find_second_gdt.urls')),
                  path('', include('KnownLocation.urls')),
              ] + staticfiles_urlpatterns()

Я попытался изменить ссылку URL-адреса на 'find_second_gdt', это привело к тому же.

1 Ответ

0 голосов
/ 03 апреля 2020

Если это приложение является вашим основным, добавьте

ROOT_URLCONF = "secondgdt.urls"

к settings.py


Если у вас есть основной urls.py для нескольких приложений, сделайте ссылку на него и с этого перенаправить на secondgdt.urls

urlpatterns = [
    url(r"^secondgdt/", include("secondgdt.urls"))
]
...