分类目录归档:Python-Dev

[ python asyncio使用 ]


fastapi启动websocket服务, 并且使用async

from fastapi import FastAPI, WebSocket, Depends, WebSocketDisconnect, WebSocketException
from fastapi.responses import HTMLResponse

from extends.redis.conn import redis_connection
from config.settings import get_settings, Settings
from typing import TypedDict, Litera

< Read more >

[ docker部署opencv ]


docker部署opencv而且容器内的cv2.show显示到主机外面

  • 目前是在debian12系统中测试

1. 配置ssh打开x服务器转发图形

修改文件/etc/ssh/sshd_config, 搜索X11 ForwardX11 yes,X11Forwarding yes

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bi

< Read more >

[ Python弱引用 ]


weakref

本视频介绍了Python中的弱引用,即通过弱引用实现对对象引用计数,并在引用计数为零时将对象从字典中删除。同时,本视频还讲解了weak valid dictionary和weak key dictionary的概念和使用方法

import weakref

players = weakref.WeakKeyDictionary()

class Player:
    ...

# 报错
players[1]

# ???
players[Player]

< Read more >

[ Django DRF 权限Permissions ]


DjangoObjectPermissions

这个权限类与 Django 的标准对象权限框架相关联,该框架允许对模型进行每个对象的权限。为了使用这个权限类,你还需要添加一个支持对象级权限的权限后端,比如 django-guardian

与 一样,此权限只能应用于具有属性或方法的视图。仅当用户经过身份验证并分配了相关的每对象权限和相关模型权限时,才会授予授权。DjangoModelPermissions.queryset.get_queryset()

POST请求要求用户具有对模型实例的权限。add PUT请求要求用户具有对模型实例的权限。PATCH change DELETE请求要求用户具有

< Read more >

[ DRF排序 ]


django 的 drf排序

先按照formNo, 再title, 再按照created时间倒排序

class EformSchemaLogsViewSet(
                   mixins.RetrieveModelMixin,
                   mixins.ListModelMixin,
                   viewsets.GenericViewSet):

   queryset = EformSchemaLogs.objects.all()
   serializer_class = EformSchemaLogsSeria

< Read more >

[ django权限认证 ]


Django权限认证

Django 自带了一个内置的权限系统。它提供了一种将权限分配给特定用户和用户组的方式。

它被 Django 管理站点使用,但欢迎你在自己的代码中使用它。

Django 管理站点使用权限如下:

查看对象的访问权限仅限于具有该类型对象的 "view" 或 "change" 权限的用户。 查看 "添加" 表单并添加对象的访问权限仅限于具有该类型对象的 "add" 权限的用户。 访问更改列表、查看 "更改" 表单和更改对象的权限仅限于具有该类型对象的 "change" 权限的用户。 删除对象的权限仅限于具有该类型对象的 "delete" 权限的用户。 权限不仅可以按对象类型设置

< Read more >