在Django REST框架中,创建扁平的读写串行器表示涉及什么?文档指的是"平面表示"(http://django-rest-framework.org/api-guide/serializers.html#dealing-with-nested-objects部分的末尾),但不提供示例或任何内容超出建议使用RelatedField
子类.
例如,如何提供以下关系User
和UserProfile
关系的平面表示?
# 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时是否可以这样做?
谢谢.
我正在使用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-exist
else get body
)?
我正在使用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