blog/ 新建一个用户: useradd -m suveng //suveng 是我的用户名 然后通过下面命令设置密码: passwd suveng //为刚创建的用户设置密码 把普通用户增加到...chmod u-w sudoers 这样普通用户可以执行sudo命令了 … 第二种:直接执行命令添加用户到 sudo usermod -a -G sudo suveng //注意改成你自己的用户名
通用权限想要写的文章目录:(这是第八章) 1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描述表组” 6、 权限到节点 7、 权限到按钮...8、 权限到列表(表单、查询) 9、 权限的验证 10、 资源方面的权限 11、 角色管理的程序(给客户用的) 12、 权限下放 13、 个性化设置 A、 【自然框架】之通用权限(外传):杂谈 列表...权限到列表 这个和权限到节点是一个意思,就是加一个查询条件就可以了。我也不多说了。 表单 myForm 说实在的权限到表单的情况,到目前为止我还没有遇到。
实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录,为货主和仓库字段搜索,添加过滤条件...,具体如下: 添加、编辑货主时,下拉列表中只展示选取和当网仓记录所属公司关联的货主,点击搜索更多,仅展示和当前网仓记录所属公司关联的货主 添加、编辑货主时,下拉列表中只展示选取和当网仓记录关联的仓库(到...视图设计 修改ResPartner,重写模型name_search(编辑货主字段,弹出下拉列表时,会请求该模型函数),search_read(编辑货主字段...,点击下拉列表时 搜索更多打开界面时,会请求该模型函数) 提示:分析OmsNetworkLine模型定义可知道,货主字段(partner_id)为多对一字段,关联ResPartner 模型 class
', '密码': '123456'}, { '用户名': 'yushaoqi2', '密码': '123456'}] 我们可以看到上面的代码,我们通过for循环输入了3次不同的用户名和密码,并且添加到...user_list 的列表中,但是最终 user_list 打印了三次相同的数据 分析原因: 可以发现每次 for 循环添加到字典中,都会覆盖掉上次添加的数据,并且内存地址都是相同的,所以就会影响到列表中已经存入的字典...因为字典的增加方式dict[‘aaa] = bbb,这种形式如果字典里有对应的key就会覆盖掉,没有key就会添加到字典里。
因此,请确保将blog_api添加到setting.py文件中的INSTALLED_APPS列表。...配置管理后台Admin 我们希望在Django的后台中管理我们的数据,因此,让我们将Post添加到下面。...Django Rest Framework 安装、配置 DjangoRestFramework,简称为DRF,它是负责将数据库模型转换为RESTful API。...fields字段控制数据库数据的类型。在本例中,我们将暴露所有字段,包括id,这是Django的主键,由Django自动添加到所有数据库记录。 4、接下来,我们需要创建view。...正如Django有基于类的视图一样,DRF也有我们可以使用的通用视图。例如,本示例中,我们定义一个列出所有博客文章和一个文章内容详细视图以及更新文章内容的视图,脚本如下所示。
install drf-yasg 然后将 drf-yasg 添加到 INSTALLED_APPS 配置项中: # filename="blogproject/settings/common.py"...,然后我们将这个视图函数映射到了 4 个 URL。...对于 GET /api-version/test/ 这个接口,它对应的视图集是 ApiVersionTestViewSet,给这个视图集添加一个 swagger_schema 类属性,将值设为 None...suffix="List", # 将这个 action 返回的结果标记为列表,否则 drf-yasg 会根据 detail=True 误判为这是返回单个资源的接口 pagination_class...但是 drf-yasg 还是不够聪明,当它去解析列表接口可能的参数时,顺便又把 PostFilter 中的字段也一并解析了,这是用来过滤博客文章的,显然不能用于过滤评论列表,我们需要将这些无关参数移除,
这些过滤器可以用于所有的 DRF 视图,包括基于函数的视图和基于类的视图。你只需要将过滤器添加到视图的 filter_backends 属性中就可以了。...这个过滤器将允许我们对 name 和 description 字段进行搜索。...这个过滤器将允许我们根据 start_date 和 end_date 字段进行范围过滤。除了上面介绍的常用过滤器之外,DRF 还提供了其他过滤器,你可以在官方文档中找到更多的信息。...例如,下面的代码展示了如何将 PriceFilterBackend 添加到我们的视图集合中:class BookViewSet(viewsets.ModelViewSet): queryset =...PriceFilterBackend 添加到了 filter_backends 属性中,以便它可以在视图集合中使用。
父序列化器: class ReadDeptSerializer(serializers.ModelSerializer): id = serializers...
Django可以用LoginRequiredMixin和PermissionRequiredMixin给类视图添加认证和权限,DRF做了高级封装,提供了更简洁的实现方式。...class Meta: model = User fields = ['id', 'username', 'snippets'] views.py 添加只读的列表视图...因为前面只给Snippet添加了owner字段,还没有写反序列化更新模型的代码,所以通过请求访问视图,再尝试反序列化的时候,报错了。...登录视图 如果用浏览器打开http://127.0.0.1:8000/snippets/,会发现只有GET方法没有POST,这是因为需要添加DRF登录视图,在tutorial/urls.py中添加rest_framework.urls...普通用户player也可以创建snippet: ? 我想让普通用户不能创建,只能超管创建。
c.SET_NULL设置为 NULL,代表的是主表删除数据的时候,将外键关联的表数据设置为NULL。仅仅在该字段null=True,允许为null时可用。...功能: 1.视图中request对象不再是Django中原始的HttpRequest类的对象,而是DRF框架封装的Request类的对象。...其他功能 过滤、分类 通常GenericAPIView配合Mixin扩展类进行使用 5.5.2.3Mixin扩展类 DRF框架提供了5个扩展类,封装了通用增删改查的流程。...为了方便我们开发RestAPI,DRF框架除了提供APIView和GenericAPIView视图类之外,还提供了一些子类视图类,这些子类视图类同时继承了GenericAPIView和对应的Mixin扩展类...router.register(prefix,viewset,base_name) prefix 该视图集的路由前缀 viewset 视图集 base_name 路由名称的前缀 3.将生成的url配置项列表添加
DRF框架中的英文单词 1. prefix/'prifɪks/前缀,我们在路由配置的时候经常看见这个单词。在flask中,我们可以在设置url的时候为了区别视图,在类似功能的url全部加一个前缀。...2. version/'vɝʒn/版本,这个在计算机上面很常见,在DRF框架中的RESTful设计风格中有一种规范,就是将api的版本号放入url中,如下:(1.0即版本号) http://www.example.com...17. detail/dɪˈtel/详细,我们在展示详情的时候,视图名称通常会用到这个单词。 18. urlpatterns这其实不是一个单词,我们只是将url和patterns(模式)组合了一下。...我们用来表示路由的url的路由列表。但是pattern在计算机中通常用来表示模式。 19. Serialization/ˌsɪərɪrlaɪ'zeɪʃn/序列化,这个单词全球只有美式音标,统一的。...# 指明该视图在进行序列化或反序列化时使用的序列化器 serializer_class = BookInfoSerializer 23.通用参数: 参数名称 说明 read_only 表明该字段仅用于序列化输出
在这个例子中,我们使用@api_view装饰器来将一个普通的Django视图函数转换为API视图。我们将请求方法限制为GET,并返回一个包含消息的响应。...@api_view装饰器是一个很好的起点,因为它允许您在不使用类视图的情况下使用DRF的其余功能。您可以使用DRF的其他装饰器来添加其他功能,如认证、权限检查、缓存等。...以下是一些常用的DRF装饰器:@authentication_classes(classes): 添加认证类。classes是认证类的列表,按优先级排序。...classes是权限类的列表,按优先级排序。@throttle_classes(classes): 添加节流类。classes是节流类的列表,按优先级排序。...我们使用@authentication_classes装饰器将TokenAuthentication添加到视图中,并使用@permission_classes装饰器将IsAuthenticated添加到视图中
('books', views.BookInfoViewSet, name='books') # 向路由器中注册视图集 urlpatterns += router.urls # 将路由器中的所以路由信息追到到...django的路由列表中 4.Serializer序列化器 作用:进行数据的序列化和反序列化 序列化:把对象转换为字典 反序列化:数据校验;数据保存(可以利用这一点实现新增和更新); 4.1使用 定义一个序列化器类....字段类型(选项参数) 4.2通用选项参数 参数名称 解释 required 默认为True,意思是这个字段在反序列化时必须输入 read_only、write_only 默认是False,如果是仅用于反序列化输出时使用...,那么将write_only改为True,如果是仅用于序列化输出,将read_only改为True。...validators选项参数,写一个列表,将定义的校验函数名放进去: btitle = serializers.CharField(label='名称', max_length=20, validators
文章目录 一、DRF框架之五个扩展类视图的子类视图 1.CreateAPIView 2.ListAPIView 3.RetireveAPIView 4.DestoryAPIView 5.UpdateAPIView...总结 ---- 一、DRF框架之五个扩展类视图的子类视图 常用子类视图 1.CreateAPIView 提供 post 方法 继承自: GenericAPIView、CreateModelMixin...""" return {'btitle': 'python'} def validate(self, atter): """ 多个字段验证...框架的五个扩展类视图的子类视图,是为了更便于crud的封装减少通用逻辑的代码量,也是DRF简化版本,其实下面还有视图集可以进一步简化代码,等下一节介绍了。...相关DRF框架的API介绍: 获取列表资源list(request) 新建单一资源self.create(request) 获取单一资源self.retrieve(request, pk) 全更新单一资源
Django REST Framework (DRF)是一个开源的Web框架,它提供了用于构建RESTful API的工具和功能。...其中一个核心组件是路由系统,它允许我们定义URL模式以及将它们映射到视图函数。配置路由在DRF中,路由配置主要通过在urls.py文件中定义路由列表来完成。...这个列表包含了每个路由的URL模式和相应的视图函数或视图类。...第一个URL模式是/users/,它与UserList视图类相关联,并命名为user_list。...最后,我们使用format_suffix_patterns()函数来格式化URL模式列表。这个函数可以将URL后缀添加到URL模式中,从而允许客户端在请求中指定响应的内容类型(如JSON、XML等)。
authentication_classes列表或元祖,身份认证类 permissoin_classes列表或元祖,权限检查类 throttle_classes列表或元祖,流量控制类 基于类的视图 一个继承自...基于函数的视图 有时候,我们并不需要使用类。为此,DRF提供了一组简单的装饰器,用于包装基于函数的视图以确保它们接收DRF的Request对象。...其他方法将响应“405 Method Not Allowed”。...API策略装饰器 为了覆盖默认设置,REST framework 提供了一组额外的装饰器,可以添加到您的视图中。注意,这些必须在@api_view装饰器之后。...这些装饰器都接受一个参数,该参数必须是类的列表或元组。 参考资料: DRF视图文档
DRF视图和常用功能 DRF视图 DRF视图类介绍 在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。...View:Django默认的视图基类,负责将视图连接到URL,HTTP请求方法的基本调度,之前写类视图一般都用这个。...'anon': '10/minute', 'user': '10/minute' } } 重启项目 apipost 请求1分钟内请求10次之后结果如下: 过滤 对于列表数据可能需要根据字段进行过滤...#过滤配置 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'] } app视图中新增过滤字段...sex=%E7%94%B7 搜索和排序 DRF提供过滤器帮助我们快速对字段进行搜索和排序 继续修改app视图中新增过滤字段: myapp/views.py from rest_framework.viewsets
'rest_framework',]这将允许您使用DRF的所有功能。现在您已经安装了DRF,接下来我们将介绍一些基本的用法和示例。创建序列化器序列化器是DRF中的一个核心概念。...我们指定了User模型作为序列化器的元数据,并指定了我们想要在JSON中包含的字段。创建视图视图是DRF中的另一个核心概念。它们定义了API的行为,即如何响应请求、如何验证输入等。...下面是一个简单的视图示例,用于返回所有用户的列表:from rest_framework import genericsfrom django.contrib.auth.models import Userfrom...创建路由路由是将URL映射到视图的一种机制。在DRF中,我们可以使用Django的URLConf和DRF的路由器来定义路由。...= [ path('users/', UserList.as_view()),]在上面的示例中,我们定义了一个名为urlpatterns的列表,其中包含一个将/users/映射到UserList
GenericAPIView 是 Django REST Framework (DRF) 中的一个基础视图类,它继承自 APIView,并添加了一些常用的功能,特别是与数据库模型交互的功能。...它是 DRF 中通用视图和视图集的基础,提供了查询、序列化、分页等常用操作的标准实现。本质上它是 DRF 中所有通用视图(如 ListAPIView、RetrieveAPIView 等)的基础。二....减少重复代码 - 提供了常见操作的标准实现,如获取查询集、序列化数据等提高开发效率 - 内置了分页、过滤、排序等功能代码组织更清晰 - 将通用逻辑与业务逻辑分离易于扩展 - 可以通过重写方法来自定义行为与...查询集(queryset)与 get_queryset()queryset 属性:定义视图将操作的数据集class BookView(GenericAPIView): queryset = Book.objects.all...同时,GenericAPIView 也是 DRF 中更高级视图(如 ListAPIView、RetrieveAPIView 等)的基础。
DRF提供了很多有用的功能和工具,包括序列化器(Serializer)、视图(View)、路由(Router)和认证(Authentication)等。...它们允许我们将复杂的数据模型序列化为JSON、XML或其他格式的数据,以便在Web API中使用。序列化器还可以将请求数据反序列化为模型实例,这使得处理用户提交的数据变得更加容易。...视图是DRF中的另一个关键概念。视图定义了API的行为,即如何响应请求、如何验证输入等。...DRF提供了许多不同类型的视图,包括基于函数的视图(Function-Based Views)、基于类的视图(Class-Based Views)和通用视图(Generic Views)。...这些视图可以轻松地处理常见的API功能,如CRUD操作、列表视图和分页等。DRF还提供了一组灵活的路由器,用于将URL映射到视图。
领取专属 10元无门槛券
手把手带您无忧上云