我正在使用Django 2.0和DRF 3.7.7(两者都是新手)并尝试在app_config / urls.py中添加URL模式:
router = routers.DefaultRouter()
router.register(r'^submit_free_account', SubmitFreeAccount, 'SubmitFreeAccount')
app_name = 'app_config' #the weird code
urlpatterns = [
path('getSourcesNodes', GetSourcesNodes.post, name='GetSourcesNodes'),
path('getAppsNodes', GetAppsNodes.post, name='GetAppsNodes'),
]
urlpatterns += router.urls
在主urls.py中:
urlpatterns = [
path('admin/', admin.site.urls),
path('config/', include('app_config.urls', namespace='app_config')),
]
因此,当我尝试请求config / submit_free_account时,我遇到了由Django尝试的奇怪URL模式的404错误:
config/ ^$ [name='api-root']
config/ ^\.(?P<format>[a-z0-9]+)/?$ [name='api-root']
如何在Django 2.0中正确添加路由器URL模式?
2 回答
见:Django REST Framework URLs with Django 2.0
总结一下:
不要使用正则表达式
包括不添加到列表中的路由,而是使用上面显示的include方法
更改
至