小编Pau*_*per的帖子

Django REST框架平板,读写串行器

在Django REST框架中,创建扁平的读写串行器表示涉及什么?文档指的是"平面表示"(http://django-rest-framework.org/api-guide/serializers.html#dealing-with-nested-objects部分的末尾),但不提供示例或任何内容超出建议使用RelatedField子类.

例如,如何提供以下关系UserUserProfile关系的平面表示?

# Model
class UserProfile(models.Model):
    user = models.OneToOneField(User)
    favourite_number = models.IntegerField()

# Serializer
class UserProfileSerializer(serializers.ModelSerializer):
    email = serialisers.EmailField(source='user.email')
    class Meta:
        model = UserProfile
        fields = ['id', 'favourite_number', 'email',]
Run Code Online (Sandbox Code Playgroud)

以上内容UserProfileSerializer不允许写入email字段,但我希望它足够好地表达意图.那么,如何构造一个"扁平"读写串行器来允许一个可写email属性UserProfileSerializer呢?在继承ModelSerializer时是否可以这样做?

谢谢.

serialization django-rest-framework

13
推荐指数
1
解决办法
7033
查看次数

XPath - 选择一个或另一个元素

我正在使用XPath从HTML文档中获取一个元素.元素必须具有特定的id,或者如果id不存在,则获取保证存在的元素(例如body元素).

要通过其id获取元素,我使用:

css=#may-not-exist
Run Code Online (Sandbox Code Playgroud)

并获得我使用的后备元素(比如身体):

css=body
Run Code Online (Sandbox Code Playgroud)

如何将上面的这两个表达式组合成一个表达式(get #may-not-existelse get body)?

xpath

11
推荐指数
1
解决办法
9770
查看次数

OAuth2客户端(Python / Django)

我正在使用Python,Django,Django Rest Framework和Django OAuth Toolkit(https://github.com/evonove/django-oauth-toolkit)创建一个单点登录(SSO)服务。SSO服务将是一个提供用户身份服务的中央独立应用程序(将对用户信息的访问作为OAuth2受保护的资源授予)。

Django OAuth Toolkit可帮助实现OAuth2授权服务器。是否有质量类似的Django或Python库,可以帮助实现OAuth2客户端(请参见以下https://tools.ietf.org/html/rfc6749#section-1.2的摘录)?

+--------+                               +---------------+
|        |--(A)- Authorization Request ->|   Resource    |
|        |                               |     Owner     |
|        |<-(B)-- Authorization Grant ---|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(C)-- Authorization Grant -->| Authorization |
| Client |                               |     Server    |
|        |<-(D)----- Access Token -------|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(E)----- Access Token ------>|    Resource   |
|        |                               |     Server    |
| …
Run Code Online (Sandbox Code Playgroud)

python django single-sign-on oauth-2.0 django-rest-framework

2
推荐指数
1
解决办法
2768
查看次数