当前位置: 首页 > news >正文

青岛济南网站制作做网页专题 应该关注哪些网站

青岛济南网站制作,做网页专题 应该关注哪些网站,蚌埠网站建设兼职,做外汇网站代理赚钱吗文章目录 1. 认证Authentication2. 权限Permissions使用提供的权限举例自定义权限3. 限流Throttling基本使用可选限流类4. 过滤Filtering5. 排序Ordering6. 分页Pagination可选分页器7. 异常处理 ExceptionsREST framework定义的异常8. 自动生成接口文档coreapi安装依赖设置接口… 文章目录 1. 认证Authentication2. 权限Permissions使用提供的权限举例自定义权限 3. 限流Throttling基本使用可选限流类 4. 过滤Filtering5. 排序Ordering6. 分页Pagination可选分页器 7. 异常处理 ExceptionsREST framework定义的异常 8. 自动生成接口文档coreapi安装依赖设置接口文档访问路径访问接口文档网页 yasg 创建一个新的子应用 opt python manage.py startapp opt注册子应用 INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','rest_framework','students','sers', # 序列化器"school", # 序列化器嵌套'req', # 请求与响应'demo', # 视图'opt', # drf提供的组件使用 ]总路由,代码: from django.contrib import admin from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('students/', include("students.urls")),path('sers/', include("sers.urls")),path('school/', include("school.urls")),path("req/", include("req.urls")),path("demo/", include("demo.urls")),path("opt/", include("opt.urls")), ] 子路由,代码: from django.urls import path from . import views urlpatterns = []因为接下来的认证组件中需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员. admin运营站点的访问地址:http://127.0.0.1:8000/admin python manage.py createsuperuser # 如果之前有账号,但是忘了,可以通过终端下的命令修改指定用户的密码,这里的密码必须8位长度以上的 python manage.py changepassword 用户名创建管理员以后,访问admin站点,先修改站点的语言配置 settings.py LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'1. 认证Authentication 可以在配置文件中配置全局默认的认证方案 常见的认证方式:cookie、session、token /home/moluo/.virtualenvs/drfdemo/lib/python3.6/site-packages/rest_framework/settings.py 默认配置文件 REST_FRAMEWORK = {# 配置认证方式的选项'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication', # session认证'rest_framework.authentication.BasicAuthentication', # 基本认证) }也可以在具体的视图类中通过设置authentication_classess类属性来设置单独的不同的认证方式 from rest_framework.authentication import SessionAuthentication, BasicAuthentication from rest_framework.views import APIViewclass ExampleView(APIView):# 类属性authentication_classes = [SessionAuthentication, BasicAuthentication]def get(self,request):pass认证失败会有两种可能的返回值,这个需要我们配合权限组件来使用: 401 Unauthorized 未认证403 Permission Denied 权限被禁止自定义认证,drfdemo.authentication代码: from rest_framework.authentication import BaseAuthentication from django.contrib.auth import get_user_modelclass CustomAuthentication(BaseAuthentication):"""自定义认证方式"""def authenticate(self, request):"""认证方法request: 本次客户端发送过来的http请求对象"""user = request.query_params.get("user")pwd = request.query_params.get("pwd")if user != "root" or pwd != "houmen":return None# get_user_model获取当前系统中用户表对应的用户模型类user = get_user_model().objects.first()return (user, None) # 按照固定的返回格式填写 (用户模型对象, None)视图调用自定义认证,视图代码: from django.contrib.auth.models import AnonymousUser from django.shortcuts import render from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.authentication import SessionAuthentication from drfdemo.authentication import CustomAuthentication # Create your views here. class HomeAPIView(APIView):# authentication_classes = [CustomAuthentication, ]def get(self,request):"""单独设置认证方式"""print(request.user) # 在中间件AuthenticationMiddleware中完成用户身份识别的,如果没有登录request.user值为AnonymousUserif request.user.id is None:return Response("未登录用户:游客")else:return Response(f"已登录用户:{request.user}")当然,也可以注释掉上面视图中的配置,改成全局配置。settings.py,代码: """drf配置信息必须全部写在REST_FRAMEWORK配置项中""" REST_FRAMEWORK = {# 配置认证方式的选项【drf的认证是内部循环遍历每一个注册的认证类,一旦认证通过识别到用户身份,则不会继续循环】'DEFAULT_AUTHENTICATION_CLASSES': ('drfdemo.authentication.CustomAuthentication', # 自定义认证'rest_framework.authentication.SessionAuthentication', # session认证'rest_framework.authentication.BasicAuthentication', # 基本认证) }2. 权限Permissions 权限控制可以限制用户对于视图的访问和对于具有模型对象的访问。 在执行视图的as_view()方法的dispatch()方法前,会先进行视图访问权限的判断在通过get_object()获取具体模型对象时,会进行模型对象访问权限的判断使用 可以在配置文件中全局设置默认的权限管理类,如 REST_FRAMEWORK = {....'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',) }如果未指明,则采用如下默认配置 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny', )也可以在具体的视图中通过permission_classes属性来进行局部设置,如 from django.contrib.auth.models import AnonymousUser from django.shortcuts import render from
http://www.yutouwan.com/news/231004/

相关文章:

  • 黑色网站模版苏州网站建设优化过哦
  • 建立网站时首先考虑的问题华夏业务员做单的网站
  • 网站地图怎么做_济南产品网站建设外包
  • 做网站内容软件wordpress 修改程序文件
  • 百度网站地址提交浙江网站建设哪家专业
  • 网站虚拟主机公司国内做seo公司简介
  • 长沙做门户网站的公司wordpress one touch 下载
  • 镇江网站设计制作邢台网约车新政策
  • 上海建设银行网站上班时间带数字 网站 域名
  • 如何用快站做pc端网站哈尔滨网站小程序制作
  • 手机网站改版公司加盟淘宝网站做阳光棚多少钱一平米
  • 大连中小网站建设公司网站开发管理制度
  • h5网站开发价格黄页网站建设
  • 怎样给自己的网站做防红连接5个搜索引擎作弊的网站
  • 定州网站建设wordpress 回复后查看
  • wordpress网站seo设置人工智能写作网站
  • 新网站如何做seo推广wordpress mysql 密码
  • 东莞定制网站开发重庆商城网站开发
  • 医疗网站建设服务自己做副业可以抢哪个网站
  • 建设网站选多大的空间合适wordpress演示站功能
  • 网站建设对接视频江苏建设集团有限公司网站
  • 河南省建设工程注册中心网站旅游电子商务的三创赛网站建设
  • 怎么做自己的cms导购网站著名的网络营销案例
  • 淅川微网站建设郑州商城网站设计
  • 厦门广告公司网站建设上海建设厅网站查询
  • 在国税网站更换购票员怎么做dw怎么做班级网站
  • 贵阳网站开发多少钱wordpress 没有外观
  • 温州市营销网站建设wordpress后台经常504
  • 怎么做网站推广实际效果好东莞seo搜索
  • 和田知名网站建设企业wordpress3.9.1中文