我正在使用Django Rest Framework,并且无法获得反向()来返回适当的路由以进行测试。在注册路线的路上,我一定犯了一个错误,但我似乎搞不清楚是什么。
核心/urls.py
class CoreRouter(DefaultRouter):
def __init__(self):
super(DefaultRouter, self).__init__()
self.trailing_slash = '/?'
router = CoreRouter()
router.register(r'works', WorkViewSet, base_name='work')
router.registry.extend(fairs_exhibitions_router.registry)
urlpatterns = [
re_path(r'^api/(?P<version>(v1))/', include(router.urls)),
re_path(r'^api/(?P<version>(v1))/', include('fairs_exhibitions.urls')),
]展览会/urls.py:
router = CoreRouter()
router.register(r'fairs', FairTagViewSet, base_name='fair')
router.register(r'exhibitions', ExhibitionTagViewSet, base_name='exhibition')
urlpatterns = [
url(r'^', include(router.urls)),
](我包括/几条不相关的路线)
我可以很好地点击api/v1/fairs,但是当我尝试使用reverse()时,我似乎找不到集市的路径:
reverse(fairs)或reverse(fairs-list)只是说它没有找到
我得到的最接近的是reverse('fair-list'),它产生了这个错误:
NoReverseMatch:反向表示“公平列表”,没有找到任何参数。4种模式尝试过:[‘api/(?p(V1))/博览会/?(pa-z0-9+)/?$’,api/(?p(V1))/?$‘,api/(?p(V1))/博览会/?(?pa-z0-9+)/?$’,‘api/(p(V1))/?
似乎我的问题可能与?$有关,但我不知道它是从哪里来的,也不知道如何处理它。
发布于 2019-08-20 20:07:57
https://stackoverflow.com/questions/57577905
复制相似问题