python
jia___qi
小白
展开
-
图片验证码配置
1.2 syl/settings.py 中配置缓存# 缓存配置CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", "OPTIONS": { "CLIENT_CLASS": "django_redis.c原创 2020-10-07 08:23:28 · 136 阅读 · 0 评论 -
Serializer的功能
创建user/serializers.py写序列化器class UserInfoSerializer(serializers.Serializer): id = serializers.CharField(read_only=True) # 普通字段,设置id为只读字段,不能修改 username = serializers.CharField(min_length=3,max_length=20 ,error_messages= {'required': '该字段必填'}) # 显示原创 2020-09-28 17:11:41 · 469 阅读 · 0 评论 -
serializers.ModelSerializer 和 serializers.Serializer field参数说明
field参数1.read_only read_only=True 表示不允许用户自己上传,只能用于api的输出,序列化的时候也不用对这个数据进行验 证,序列化返回是有改字段2.write_only write_only=True 表示在更新或创建实例时可以使用该字段,但在序列化返回时不包括该字段。3.required:该字段是必需的,不能为空 required=True 反序列化(前端返回数据必须包含此字段)的时候必须提供这个字段 设置False 可以 不提供4.allow_null/allow_原创 2020-09-28 17:05:25 · 1162 阅读 · 0 评论 -
Apiview+Serializers使用
1.APIview使用ModelVIewSet 是对 APIView 封装在这里插入代码片ModelSerializer 是对 Serializer封装1.1 在 user/urls.py 中添加路由urlpatterns = [ path('apiview/', views.UserInfoViewSet.as_view()), ]1.2 创建user/serializers.py写序列化器serializers.ModelSerializer 和 serializers.Serialize原创 2020-09-28 16:57:56 · 128 阅读 · 0 评论 -
modelviewset序列化限流排序
url配置from django.urls import path,includefrom apps.app01 import viewsfrom rest_framework.routers import SimpleRouter, DefaultRouter#自动生成路由方法,必须使用视图集#router=SimpleRouter() #没有跟路由 /user/ 无法识别router=DefaultRouter() #有跟路由router.register(r'user',vi原创 2020-09-28 16:39:49 · 147 阅读 · 0 评论 -
初始化django项目结构
原创 2020-09-25 16:59:18 · 103 阅读 · 0 评论 -
django基础
1.1django生命周期1.2django的介绍目的:了解Django框架的作用和特点 作用:简便、快速的开发数据库驱动的网站Django的优势快速开发MVT功能齐全Django学习版本: 1.11.11 思考:用django还是flask开发数据驱动web网站(复杂业务逻辑)数据分析后的结果展示界面, flask快速成型应用上线, 就用django1.3Django设计模式(MVC/MTV)目的: 了解什么是MVC, MTV思考: 为什么要用设计模式分工、解耦,让不同的原创 2020-09-25 16:54:19 · 143 阅读 · 0 评论 -
二分查找
# 二分查找(折半查找)的前提:必须有序def find(l,a): n=len(l) start=0 end=n-1 while start<=end: mid=(start+end)//2 if a==l[mid]: return mid elif a>l[mid]: start=mid+1 else: end=mid-1原创 2020-09-16 09:31:13 · 99 阅读 · 0 评论 -
冒泡排序
alist=[54,26,93,17,77,31,44]l=len(alist)for j in range(1,l): for i in range(0,l-j): if alist[i]<alist[i+1]: alist[i],alist[i+1]=alist[i+1],alist[i]print(alist)原创 2020-09-16 09:29:21 · 112 阅读 · 0 评论 -
bs4语法
节点选择器from bs4 import BeautifulSoupsoup = BeautifulSoup(res.text,'lxml')tag = soup.a #取a标签,只取一个方法选择器方法选择器find_all(name,attrs,text,limit): soup.findall(name='***') #根据节点名字定位 soup.findall(attrs={'属性名(scr,class等)':'值'})#根据属性定位,多个属性时,一个即可定位原创 2020-09-10 20:13:32 · 760 阅读 · 0 评论