django rest frame work 初步使用 >> 认证权限
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了django rest frame work 初步使用 >> 认证权限,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2018字,纯文字阅读大概需要3分钟。
内容图文
https://q1mi.github.io/Django-REST-framework-documentation/tutorial/4-authentication-and-permissions_zh/
1. models.py 表里面加入一列 “operater", 并且重新migrate
from django.db import models class Publisher(models.Model): name = models.CharField(max_length=32, verbose_name="Publisher Name", unique=True) address = models.CharField(max_length=128, verbose_name="Publisher Address") operator = models.ForeignKey("auth.User", on_delete=models.CASCADE) def__str__(self): return self.name class Meta: verbose_name = "Table Publisher" verbose_name_plural = verbose_name
2. serializers.py 里面需要再添加一个field, 并且可以对输出进行重写。
from rest_framework import serializers from helloworld.models import Publisher class PublisherSerializer(serializers.ModelSerializer): operator = serializers.ReadOnlyField(source="operator.username") class Meta: model = Publisher fields = ( "id", "name", "address", "operator" )
3. 新建文件 permissions.py 自定义权限
from rest_framework import permissions class IsOwnerOrReadOnly(permissions.BasePermission): """ only allow owner to update """def has_object_permission(self, request, view, obj): # for GET, HEAD, OPTINOSif request.method in permissions.SAFE_METHODS: return True return obj.operator == request.user
4. views.py 针对新的新权限以及列进行调整。
from rest_framework import permissions from helloworld.permissions import IsOwnerOrReadOnly class PublisherList(generics.ListCreateAPIView): queryset = Publisher.objects.all() serializer_class = PublisherSerializer # 新建内容 permissions_classes = (permissions.IsAuthenticated, IsOwnerOrReadOnly) # 针对创建时,进行重写某个方法,保证特殊列的写入def perform_create(self, serializer): serializer.save(operator=self.request.user) class PublisherDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Publisher.objects.all() serializer_class = PublisherSerializer # 新建内容 permissions_classes = (permissions.IsAuthenticated, IsOwnerOrReadOnly)
认证权限' ref='nofollow'>django rest frame work 初步使用 >> 认证权限
原文:https://www.cnblogs.com/shuo-yang0459/p/9514333.html
内容总结
以上是互联网集市为您收集整理的django rest frame work 初步使用 >> 认证权限全部内容,希望文章能够帮你解决django rest frame work 初步使用 >> 认证权限所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。