python - Django路由器检索特定帐户
问题描述
此代码适用于检索具有 localhost:8000/accounts/ 的整个帐户列表,但在给定与帐户关联的电子邮件时不适用于特定帐户 (localhost:8000/accounts/[email of account]/。相反,数据发回的是一个 HTML 文件。有时如果我输入一封不存在的电子邮件,它会告诉我找不到详细信息。但只是有时。任何帮助将不胜感激!
这是我的不同文件:
意见.PY
class AccountViewSet(views.ModelViewSet):
lookup_field = 'email'
queryset = Account.objects.all()
serializer_class = AccountSerializer
URLS.PY
router = routers.SimpleRouter()
router.register(r'accounts', AccountViewSet)
url patterns = [
url(r'api/v1/', include(router.urls)),
]
模型.PY
class Account(AbstractBaseUser):
email = models.EmailField(unique=True)
name = models.CharField(max_length=40, blank=True)
objects = AccountManager()
解决方案
我意识到发生了什么。'.' 的使用 在电子邮件地址中 - 所以在这种情况下是“.com” - 导致了 url 问题。代码设置正确,但不能在电子邮件中使用句点作为 url api 调用的一部分。
推荐阅读
- c# - Mono 下的 FileSystemWatcher:Linux 上的 CPU 负载过重
- clips - Clips 规则中的 #if 预处理器指令
- azure - 与环境变量相比,在 KeyVault 中存储简单机密有哪些优势
- sql-server - 将 Linq 转换为 SQL 更新 ... FROM Other_table WHERE
- html - JSON从数组到文本输入html获取唯一的随机值,并在显示所有值时显示文本
- javascript - 如何使用 jQuery 显示函数返回
- json - 在 Swift 5 中使用 utf-8 unicode 发送 HTTP 请求
- c - 如何“欺骗”C预处理器接受函数/变量等的任何部分作为令牌?
- c# - 如何通过使用 c# 在整数集中创建非连续整数元素的子集来找到这些子集中的最大子集?
- python - 如何在 Python 中查找向量(一维数组,列表)中的步骤?