django - Django RESTApi 中的 URL 参数
问题描述
提前谢谢你,我是 Django REST 框架的新手。当我使用带有 id 参数的 get() 方法时,它工作正常
下面是 url.py
urlpatterns = [
path('admin/', admin.site.urls),
url(r'api/userList/$', UserList.as_view(), name="userList"),
url(r'^api/userList/(?P<id>\d+)/$', UserDetails.as_view(), name="userDetails")
]
下面是api.py:
class UserDetails(APIView):
def get(self, request, id):
model = Users.objects.get(id=id)
serializer = UsersSerializers(model)
return Response(serializer.data)
上面的代码很好
当我尝试使用 emailID 获取用户详细信息时,我无法获取详细信息,显示以下错误:
Using the URLconf defined in myProject.urls, Django tried these URL patterns, in this order:
1. admin/
2. api/userList/$ [name='userList']
3. ^api/userList/(?P<emailID>\d+)/$ [name='userDetails']
The current path, api/userList/sannila1527@gmail.com/, didn't match any of these.
下面是api.py:
class UserDetails(APIView):
def get(self, request, emailID):
model = Users.objects.get(emailID=emailID)
serializer = UsersSerializers(model)
return Response(serializer.data)
你能帮我解决这个问题吗?
解决方案
尝试将您的 url.py 更改为
urlpatterns = [
path('admin/', admin.site.urls),
url(r'api/userList/$', UserList.as_view(), name="userList"),
url(r'^api/userList/(?P<emailID>\w+|[\w.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$', UserDetails.as_view(), name="userDetails")
]
推荐阅读
- c++ - 我无法遍历所有图像的像素,它正在遍历其中的一部分。开放式CV
- modal-dialog - 如何在单个 ScrollView 上禁用 SwiftUI 中的垂直反弹
- java - 进行异步 api 调用导致意外响应,但在执行同步时返回预期响应
- clang - Clang 断言失败:用尽源位置
- javafx - 如何创建自动 JavaFX 媒体播放器
- visual-studio-code - 关闭当前选项卡时如何让 Visual Studio 代码选择正确的选项卡?
- rest - Postman 中的默认标题预设
- python - 如何在目录上使用诱变剂?
- sql - WHERE 子句中的 SQL 命名范围
- javascript - 何时单击表单输入,背景发生了奇怪的变化,单击页面后无法在手机上正确加载