当前位置: 首页 > 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://wiki.neutronadmin.com/news/231004/

相关文章:

  • 静态网站做301重定向做我的奴隶腾讯网站
  • 美空间网站一个人做网站赚钱
  • 网站备案收录下降成都网站建设报价表
  • 网站做子域名ucenter 整合两个数据库网站
  • 手机怎样做自己的网站传奇手游开服表网站
  • 门户网站建设管理工作方案seo网页优化公司
  • 适合美工的网站平面设计网站模板
  • 中国seo第一人老网站怎么优化
  • 公司网站策划书黄页88怎么发信息质量高
  • 类似于建设通的网站企业网站模板seo
  • 网站收录量下降网站制作流程的组成部分包括
  • 电子商务网站建设相关职位推广的方式有哪些
  • 做充值网站高唐做创建网站的公司
  • WordPress更改网站地址网站出现的问题
  • 网站是什么平台建筑设计公司经营范围有哪些
  • 企业建站个人建站源码上海微信公众号外包
  • 网站快速排名技巧优化关键词排名seo
  • dw制作班级网站网站备案 法人代表
  • 西安专业房产网站建设网站域名价值查询工具
  • 大气网站背景图青岛网站制作永诚
  • 个人网站后期怎么做企业松溪网站建设
  • 永嘉哪里有做网站工信部网站查询
  • 企业网站建设需要哪些费用网站媒体作风建设年工作总结
  • 广州商务网站建设电话蜘蛛爬网站
  • 异地网站建设公司网站建设的工作视频人的吗
  • 怎样建设网站官网医院做网站需要备案吗
  • 网站空间根目录劳务派遣做网站有必要吗
  • 如何制作h5页面视频3seo
  • 邗江区城乡建设局网站保定 网站
  • 网站建设的实施方案现在建设一个网站多少钱