0
我有一個現有的Django應用程序,我想添加一個API。現在我只是試圖建立一個模型的表示。django-rest-framework:如何將URL集成到現有的Django應用程序中?
首先,我只想創建一個端點/api/1.0/county
來顯示所有的縣。
我已經在我的Django應用程序的頂層稱爲api
創建的文件夾,並在其中我已創建一個urls.py
文件,其中包含以下內容:
from django.conf.urls import url, include
from domes.models import County
from rest_framework import routers, serializers, viewsets
class CountySerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = County
fields = ('id', 'name')
class CountyViewSet(viewsets.ModelViewSet):
queryset = County.objects.all()
serializer_class = CountySerializer
router = routers.DefaultRouter()
router.register(r'county', CountyViewSet)
urlpatterns = [
url(r'^', include(router.urls))
]
然後在我的根urls.py
我已經添加了以下:
import api
...
urlpatterns = (....
(r'^api/1.0', include(api.urls)),
)
但是,如果我嘗試在我的瀏覽器中加載/api/1.0/county
,我看到Page Not Found
,因爲URL不urlpatterns的發現。 Django的似乎知道以下網址模式:
^API/1.0^^ $ [名稱= 'API根']
^api/1.0^^\.(?P<format>[a-z0-9]+)$ [name='api-root']
^api/1.0^^county/$ [name='county-list']
^api/1.0^^county/\.(?P<format>[a-z0-9]+)$ [name='county-list']
^api/1.0^^county/(?P<pk>[^/.]+)/$ [name='county-detail']
^api/1.0^^county/(?P<pk>[^/.]+)/\.(?P<format>[a-z0-9]+)$ [name='county-detail']
我怎樣才能得到這兩個URL文件很好地一起玩嗎?
如果可能,我寧願將API URL保存在與主應用程序分開的文件中。文檔中的所有示例似乎都假定django-rest-framework將用作獨立應用程序,但我需要將它集成到現有的應用程序中。
我一定建議在這裏添加斜線(在你的答案中),以便來自未來的人更好地理解你的意思。 – 2015-04-05 17:00:23