Django 框架 - 数据库操作
数据库 ORM框架 O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。 django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。 使用d
Django 框架 - Admin站点
Admin 站点 Django 能够根据定义的模型类自动地生成管理页面。 使用 Django 的管理模块,需要按照如下步骤操作 : 管理界面本地化 创建管理员 注册模型类 自定义管理页面 调整列表页展示 list_per_page=100 # 页大小
actions_on_top=True # “操作选项位置”
list_display=[模型字段1,模型字段2,...] # 列表中的列
short_description # 通过设置short_description属性,可以设置在
爬取网易云音乐所有歌单信息
可以结合下一篇文章实现歌曲下载 python 爬虫下载网易歌单歌曲 使用 python + requests + lxml + selenium 使用 requests 发起请求,获取到所有分类的 url 使用 selenium 发送请求取到每页的每个歌单信息 点击下一页,爬取下一页的歌单信息 存储信息 import requests, time
from selenium import webdriver
from lxml import etree
from requests.utils
python 爬虫下载网易歌单歌曲
python 爬虫下载网易歌单歌曲 可以根据歌单 id 来下载歌单中的所有音乐,付费音乐除外 可以自己输入歌单 id 来进行单个歌单下载,也可以结合上一篇文章 爬取网易云音乐所有歌单信息 先取到所有的歌单信息,在进行所有歌单中的歌曲下载 爬取思路 判断是否输入歌单 id 输入了 id 拼接请求的歌单 url 发送请求,取到当前歌单中的所有歌曲的信息 遍历每个歌曲信息 拼接下载歌曲的 url,http://music.163.com/song/media/outer/url?id=歌曲id 这个
DRF 框架总结 - 引入 Django REST framework 框架
引入 Django REST framework 框架 Web 应用模式 在开发 Web 应用中,有两种开发模式: 前后端不分离 前后端分离 前后端不分离 在前后端不分离的应用模式中,前端看到的效果都是有后端控制,由后端渲染页面或重定向,也就是后端需要 控制前端的展示,前端与后端的耦合度很高。 这种应用模式比较适合纯网页应用,但是当后端对接 app 时, app 可能并不需要后端返回一个 HTML 网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端的 app 应用,为了对接 ap
DRF 框架总结 - DRF 工程 搭建
环境安装与配置 DRF 是以 Django 扩展应用的方式提供的,所以我们可以直接利用已有的 Django 环境而无需重新创建。(若没有 Django 环境,需要先创建环境安装 Django) 安装DRF pip install djangorestframework
添加rest_framework应用 我们利用在Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加’rest_framework’。 INSTALLED_APPS = [
DRF 框架总结 - serializer 序列化器
serializer 序列化器 序列化:前端到后端,前端发送的数据比如说 json 数据,后端转换成 python 数据类型,才能进行进一步操作; 反序列化:后端到前端,后端要传给前端的 python 数据要转换成 json 数据,在进行传送,这样前端才能对数据进行识别和操作 前端和后端数据的互相传输都可能出现问题,所有对每个数据都有进行验证,如果向 Flask 中那样自己写验证,会显得很麻烦,所以 Django 中就会有了序列化器,将数据转换和校验一并完成。 定义 serializer 定义
DRF 框架总结 - 视图(Request 与 Response)
Request 与 Response Request REST framework 传入视图的 request 对象不再是 Django 默认的 HttpRequest 对象,而是 REST framework 提供的扩展了 HttpRequest 类的 Request 类的对象。 REST framework 提供了 Parser 解析器,在接收到请求后会自动根据 Content-Type 指明的请求数据类型(如JSON、表单等)将请求数据进行 parse 解析,解析为类字典对象保存到 Re
DRF 框架总结 - 视图说明
视图 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写 在不同的类中封装了不同的属性,简化代码的书写量, # 视图继承层级
# 第一层
object
# 第二层
django.views.generic.base.View
# 第三层
rest_framework.views.APIView
# 第四层
rest_framework.mixins.ListModelMixin # GET 请求,取所有数据
rest_framework.mixins.Cr
DRF 框架总结 - 认证 Authentication
认证Authentication 可以在配置文件中配置全局默认的认证方案 REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication', # 基本认证
'rest_framework.authentication.SessionAuthentication', # session认证
)
}
DFR 框架总结 - 权限 Permissions
权限Permissions 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。 在执行视图的 dispatch() 方法前,会先进行视图访问权限的判断 在通过 get_object() 获取具体对象时,会进行对象访问权限的判断 使用 可以在配置文件中设置默认的权限管理类,如 REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated
DRF 框架总结 - 限流 Throttling
限流Throttling 可以对接口访问的频次进行限制,以减轻服务器压力。 使用 可以在配置文件中,使用DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置, REST_FRAMEWORK = {
'DEFAULT_THROTTLE_CLASSES': (
'rest_framework.throttling.AnonRateThrottle',
'rest_framework.throttlin
DRF 框架总结 - 分页 Pagination
分页Pagination REST framework提供了分页的支持。 我们可以在配置文件中设置全局的分页方式,如: REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 100 # 每页数目
}
也可通过自定义Pagination类,来为视图添加不同分页行为。在视图中通过pagination_class属
DRF 框架总结 - 版本 Versioning
版本Versioning REST framework提供了版本号的支持。 在需要获取请求的版本号时,可以通过request.version来获取。 默认版本功能未开启,request.version 返回None。 开启版本支持功能,需要在配置文件中设置DEFAULT_VERSIONING_CLASS REST_FRAMEWORK = {
'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.NamespaceVersionin
DRF 框架总结 - 异常处理 Exceptions
异常处理 Exceptions REST framework提供了异常处理,我们可以自定义异常处理函数。 from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
# 先调用REST framework默认的异常处理方法获得标准错误响应对象
response = exception_handler(exc, context)
# 在此处
DRF 框架总结 - 自动生成接口文档
自动生成接口文档 REST framework可以自动帮助我们生成接口文档。 接口文档以网页的方式呈现。 自动接口文档能生成的是继承自APIView及其子类的视图。 1. 安装依赖 REST framewrok生成接口文档需要coreapi库的支持。 pip install coreapi
2. 设置接口文档访问路径 在总路由中添加接口文档路径。 文档路由对应的视图配置为rest_framework.documentation.include_docs_urls, 参数title为接口文档网
JS 之 appendChild 与 innerHTML
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/for_cxc/article/details/52046808 问题:手机滑动分页,每次向下滑到低,就会请求数据并增加 n 个 item ,至于这个 item是什么,item 就是一类相似的 元素,它们有共同的父元素,那么,我要如何添加这几个item? 方式有两种,第一种很简单,修改父元素的innerHTML,原来的加上新的。 第二种,用appendChild方式,有几个加几个。 以上两种方法比
JS 窗口滚动条理解
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/for_cxc/article/details/52052288 首先 window.innerHeight 表示浏览器可见或可用高度 如果body中的元素总高度超越上面的高度,默认body会出现滚动条 那么 document.body.scrollHeight 就表示 所有元素总高度 它当然大于 window.innerHeight 还有 document.body.scrollTop 就表示
JS 手机端滑动分页插件 SPager 最新版
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/for_cxc/article/details/52054743 JS /* SPager 调用说明 */
//第一步 建立 SPager对象 var spager = new SPager(4); 参数为 每页 item 个数 PageSize
//第二步 必须重写 SPager 的 ReturnParentElement 方法 ,返回 item 的父元素
//第三步 必须重写 SPager 的
今日推荐
周排行