Как исправить ошибку «путь не найден» в django rest framework - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь создать API своего веб-сайта для ведения блога с использованием Django rest framework, но мой URL не совпадает.

Я пытаюсь Django Rest Framework впервые, поэтому не могу исправитьэтот.Но я думаю, что я испортил это в url_patterns.

Вот мой код URL из основного каталога (каталог, который содержит settings.py).`

from django.conf.urls import url,include
from django.contrib import admin
from django.urls import path, include
from blog import views

from rest_framework import routers
router = routers.DefaultRouter()
router.register(r'apipost',views.PostViewSet)

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('blog.urls')),
    path('api-auth/',include('rest_framework.urls',namespace='rest_framework')),
]

`

Я пытаюсь URL http://127.0.0.1:8000/apipost и ожидаю получить значение в формате JSON.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Django REST Framework Не будет магически регистрировать ваш маршрутизатор в urlpatterns, вы должны сделать это самостоятельно.Вы можете использовать urlpatterns += router.urls, если хотите добавить их в корень своих urlpatterns, или url(r'^api/', include((router.urls, 'app_name'))),, если хотите установить для них подпуть.

0 голосов
/ 10 февраля 2019

Вам необходимо добавить router.urls к вашему urlpatterns.

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'',include('blog.urls')),
    path('api-auth/',include('rest_framework.urls',namespace='rest_framework')),
]

urlpatterns += router.urls
...