- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
是的,我知道类似的问题已经被问过很多次,但很抱歉没有一个答案真正帮助到我,或者我错过了一些重要的事情。
我想在客户端发布的数据格式为以下格式时进行注册:
{
"email": "asouausdhnsabnsmsd.s@s.com",
"first_name": "s",
"last_name": "d",
"password": "f"
}
和服务器返回:
{
"results": {
"email": "asouausdhnsabnsmsd.s@s.com",
"first_name": "s",
"last_name": "d"
}
}
当我发布数据时,我得到:
ImproperlyConfigured at /api/register Could not resolve URL for hyperlinked relationship using view name "customuser-detail". You may have failed to include the related model in your API, or incorrectly configured the
lookup_field
attribute on this field.
所以我有 serializers.py 这样的:
class RegisterUserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = CustomUser
fields = ('url', 'email', 'first_name', 'last_name', 'password')
write_only_fields = ('password',)
def create(self, validated_data):
user = CustomUser.objects.create(**validated_data)
try:
user.set_password(user.password)
user.save()
return user
except KeyError:
return user
class RegisterUserRetrieveSerializer(serializers.Serializer):
results = RegisterUserSerializer(source='*')
然后 views.py 中的 api View 集:
class RegisterUserViewSet(mixins.CreateModelMixin,
viewsets.GenericViewSet):
permission_classes = (AllowAny,)
parser_classes = (parsers.JSONParser,)
serializer_class = serializers.RegisterUserSerializer
model = CustomUser
def create(self, request):
serializer = serializers.RegisterUserSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
user = serializer.save()
serializer = serializers.RegisterUserRetrieveSerializer(user, context={'request': request})
results = serializer.data
return Response(results, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
和 urls.py:
router = routers.DefaultRouter()
router_without_trailing_slashes = routers.DefaultRouter(trailing_slash=False)
router.register(r'register', RegisterUserViewSet, base_name='customuser')
router_without_trailing_slashes.register(r'register', RegisterUserViewSet, base_name='customuser')
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^templates/', include('core.main.urls'), name='templates'),
url(r'^api/', include(router_without_trailing_slashes.urls)),
url(r'^api/', include(router.urls)),
]
新用户已正确保存到数据库中,因此我认为该错误与 RegisterUserRetrieveSerializer 有某种关联。有什么想法吗?
最佳答案
看起来问题在于您在序列化程序中包含了 url
字段,但 DRF 无法生成该 url,因为没有序列化程序的详细 View 。
有两种选择:
url
字段关于python - 另一个无法解析超链接关系错误的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823419/
我一直在使用 AJAX 从我正在创建的网络服务中解析 JSON 数组时遇到问题。我的前端是一个简单的 ajax 和 jquery 组合,用于显示从我正在创建的网络服务返回的结果。 尽管知道我的数据库查
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我在尝试运行 Android 应用程序时遇到问题并收到以下错误 java.lang.NoClassDefFoundError: com.parse.Parse 当我尝试运行该应用时。 最佳答案 在这
有什么办法可以防止etree在解析HTML内容时解析HTML实体吗? html = etree.HTML('&') html.find('.//body').text 这给了我 '&' 但我想
我有一个有点疯狂的例子,但对于那些 JavaScript 函数作用域专家来说,它看起来是一个很好的练习: (function (global) { // our module number one
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我需要编写一个脚本来获取链接并解析链接页面的 HTML 以提取标题和其他一些数据,例如可能是简短的描述,就像您链接到 Facebook 上的内容一样。 当用户向站点添加链接时将调用它,因此在客户端启动
在 VS Code 中本地开发时,包解析为 C:/Users//AppData/Local/Microsoft/TypeScript/3.5/node_modules/@types//index而不是
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我在将 json 从 php 解析为 javascript 时遇到问题 这是我的示例代码: //function MethodAjax = function (wsFile, param) {
我被赋予了将一种语言“翻译”成另一种语言的工作。对于使用正则表达式的简单逐行方法来说,源代码过于灵活(复杂)。我在哪里可以了解更多关于词法分析和解析器的信息? 最佳答案 如果你想对这个主题产生“情绪化
您好,我在解析此文本时遇到问题 { { { {[system1];1;1;0.612509325}; {[system2];1;
我正在为 adobe after effects 在 extendscript 中编写一些代码,最终变成了 javascript。 我有一个数组,我想只搜索单词“assemble”并返回整个 jc3_
我有这段代码: $(document).ready(function() { // }); 问题:FB_RequireFeatures block 外部的代码先于其内部的代码执行。因此 who
背景: netcore项目中有些服务是在通过中间件来通信的,比如orleans组件。它里面服务和客户端会指定网关和端口,我们只需要开放客户端给外界,服务端关闭端口。相当于去掉host,这样省掉了些
1.首先贴上我试验成功的代码 复制代码 代码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 你可以通过本站学习 X
【PHP代码】 复制代码 代码如下: $stmt = mssql_init('P__Global_Test', $conn) or die("initialize sto
在SQL查询分析器执行以下代码就可以了。 复制代码代码如下: declare @t varchar(255),@c varchar(255) declare table_cursor curs
前言 最近练习了一些前端算法题,现在做个总结,以下题目都是个人写法,并不是标准答案,如有错误欢迎指出,有对某道题有新的想法的友友也可以在评论区发表想法,互相学习🤭 题目 题目一: 二维数组中的
我是一名优秀的程序员,十分优秀!