11 2023 档案

摘要:HttpResponse 方法一: return HttpResponse('ok',headers={'xxx':'xxx'}) 方法二: obj = HttpResponse('ok') obj['yyy'] = 'yyy' # 像字典一样放入,最终会放在http的响应头中 return obj 阅读全文
posted @ 2023-11-30 15:19 wellplayed 阅读(13) 评论(0) 推荐(0) 编辑
摘要:需要用到FunctionType和MethodType from types import FunctionType, MethodType 准备测试用代码 写一个函数: def add(): pass 写一个类: class Person: def run(self): pass @classme 阅读全文
posted @ 2023-11-30 15:07 wellplayed 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1.在应用(如:app01)下创建文件夹templatetags 再创建一个py文件,编写自定义标签(如:mytag) 2.编写自定义标签 from django import template register = template.Library() @register.filter(name= 阅读全文
posted @ 2023-11-29 21:33 wellplayed 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1.Template和Context的导入 from django.template import Template, Context 2.生成静态页面 ——在后端调用模板语法生成HTML页面,并保存到指定路径 2.1 我们想生成一个前端页面,代码如下 后端视图层传入的对象: user_data = 阅读全文
posted @ 2023-11-29 20:50 wellplayed 阅读(121) 评论(0) 推荐(0) 编辑
摘要:绑定给类的方法,类来调用,对象可以调用吗? # 首先创建一个类,和绑定给类的方法index class MyClass: @classmethod def index(cls): print("hello index") 实例化对象: obj = MyClass() 使用对象调用绑定给类的方法: o 阅读全文
posted @ 2023-11-29 17:23 wellplayed 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1.路由配置 path('index/', 视图类名.as_view()) # as_view是类的绑定方法 2.执行流程(分析) path('index/', index), >请求来了,路由匹配成功会执行 index(request,) path('index/', UserView.as_vi 阅读全文
posted @ 2023-11-29 15:20 wellplayed 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.视图层返回JsonResponse return JsonResponse({'name':'kevin','age':19}) 2.触发 JsonResponse 的__init__方法 将{'name':'kevin','age':19}传给data 3.源码分析 def __init__( 阅读全文
posted @ 2023-11-29 15:09 wellplayed 阅读(33) 评论(0) 推荐(0) 编辑
摘要:我们可以使用使用GenericAPIView+序列化类+Response写接口 了解GenericAPIView 类属性: queryset:要序列化的所有数据 serializer_class:序列化类 lookup_field = 'pk' :查询单条时的key值,默认为pk,可以修改名称如'i 阅读全文
posted @ 2023-11-24 09:53 wellplayed 阅读(57) 评论(0) 推荐(0) 编辑
摘要:外键中on_delete的方法: CASCADE:级联删除,只要删除publish,跟publish关联的book,全都被删除 SET_DEFAULT:只要删除publish,跟publish关联的book,的publish字段会变成默认值,一定要配合default使用 SET_NULL:只要删除p 阅读全文
posted @ 2023-11-24 09:06 wellplayed 阅读(80) 评论(0) 推荐(0) 编辑
摘要:状态码 为了方便设置状态码,REST framewrok在rest_framework.status模块中提供了常用状态码常量。 导入: from rest_framework import status 提示: 默认响应状态码200 1)信息告知 - 1xx HTTP_100_CONTINUE(继 阅读全文
posted @ 2023-11-23 21:17 wellplayed 阅读(23) 评论(0) 推荐(0) 编辑
摘要:drf之——请求 Request类对象的分析 1).data request.data 返回解析之后的请求体数据。类似于Django中标准的request.POST和 request.FILES属性,但提供如下特性: 包含了解析之后的文件和非文件数据 包含了对POST、PUT、PATCH请求方式解析 阅读全文
posted @ 2023-11-23 20:47 wellplayed 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1.书写序列化类,继承ModelSerializer from rest_framework import serializers class BookSerializer(serializers.ModelSerializer): 2.在序列化类中在写一个类(固定写法): class Meta: 阅读全文
posted @ 2023-11-21 21:35 wellplayed 阅读(51) 评论(0) 推荐(0) 编辑
摘要:序列化的字段有:name,price ,publish_detail,author_list 反序列化字段:name,price ,publish,author 反序列化之保存 代码书写: 视图类: class BookView(APIView): def post(self, request): 阅读全文
posted @ 2023-11-21 21:24 wellplayed 阅读(25) 评论(0) 推荐(0) 编辑
摘要:方式一:在序列化类中书写 想要输出以下字段: ——(书名,价格,出版社信息(id,出版社名,出版社地址)) 效果如下图: 需要在序列化类下书写以下代码: class BookSerializer(serializers.Serializer): name = serializers.CharFiel 阅读全文
posted @ 2023-11-21 20:59 wellplayed 阅读(15) 评论(0) 推荐(0) 编辑
摘要:source的用法(三种): 1.修改前端看到字段key的值(自定义key值) name = "三国演义" # 修改为 book_name = "三国演义" 使用代码书写: 序列化类(serializer.BookSerializer)中书写: book_name = serializers.Cha 阅读全文
posted @ 2023-11-21 20:55 wellplayed 阅读(18) 评论(0) 推荐(0) 编辑
摘要:基本组件的使用 -restful规范 -序列化组件 -APIView源码分析 -Response源码分析 -source用法 -定制字段的两种方式 -反序列化的保存与修改 -ModelSerializer用法 -请求与响应 -状态码 -GenericAPIView用法 -路由组件 -认证组件 -权限 阅读全文
posted @ 2023-11-20 21:03 wellplayed 阅读(21) 评论(1) 推荐(2) 编辑
摘要:一、准备工作 首先需要一张数据库表(以Book表为例) 在models内书写: class Book(models.Model): name = models.CharField(max_length=32) price = models.BigIntegerField() url: path('b 阅读全文
posted @ 2023-11-20 20:57 wellplayed 阅读(33) 评论(0) 推荐(0) 编辑
摘要:str #匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式 int #匹配正整数,包含0。 slug #匹配字母、数字以及横杠、下划线组成的字符串。 uuid #匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。 path #匹配任何非空字符 阅读全文
posted @ 2023-11-16 20:28 wellplayed 阅读(16) 评论(0) 推荐(0) 编辑
摘要:第一种: QuerySet.query user_queryset = models.User.objects.values_list('name', 'age') print(user_queryset.query) 结果: SELECT `app01_user`.`name`, `app01_u 阅读全文
posted @ 2023-11-15 15:14 wellplayed 阅读(19) 评论(0) 推荐(0) 编辑
摘要:static文件夹默认能够直接访问: 需要在settings中配置: STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] 我们可以自定义暴露的文件: 以项目中的media文件夹为例: 在urls文件中书写以下代码: 首先需要导入模块: from 阅读全文
posted @ 2023-11-13 20:27 wellplayed 阅读(37) 评论(0) 推荐(0) 编辑
摘要:代码如下: models.ForeignKey(to='Publish') models.ForeignKey(on_delete=models.CASCADE, on_update=models.CASCADE) 更多on_delete配置方法 阅读全文
posted @ 2023-11-13 14:48 wellplayed 阅读(66) 评论(0) 推荐(0) 编辑
摘要:首先要导入生成图片相关模块: from PIL import Image, ImageDraw, ImageFont """ Image:生成图片 ImageDraw:能够在图片上乱涂乱画 ImageFont:控制字体样式 """ 为图片生成随机三基色 def get_random(): retur 阅读全文
posted @ 2023-11-12 21:02 wellplayed 阅读(35) 评论(0) 推荐(0) 编辑
摘要:代码示例: # HTML部分 <form action=""> <div class="form-group"> <label for="id_file"> 用户头像 {% load static %} <img src="{% static 'img/default.png' %}" alt="" 阅读全文
posted @ 2023-11-10 20:50 wellplayed 阅读(19) 评论(0) 推荐(0) 编辑
摘要:正常我们想要从文件 myfile 导入模块 b 时,我们会使用: from myfile import b 接下来介绍另一种导入方式,能够用字符串来导入模块: # 首先导入importlib模块 import importlib res = 'myflie.b' importlib.import_m 阅读全文
posted @ 2023-11-09 19:04 wellplayed 阅读(34) 评论(0) 推荐(0) 编辑
摘要:第一步:后端配置 首先创建一个utils文件夹 在utils文件夹内创建一个py文件——mypage.py 书写代码: class Pagination(object): def __init__(self, current_page, all_count, per_page_num=10, pag 阅读全文
posted @ 2023-11-07 21:15 wellplayed 阅读(13) 评论(0) 推荐(0) 编辑
摘要:提示:当你想要批量插入数据的时候,使用orm给你提供的bulk_create方法能够大大的减少操作时间 普通插入: 先给Book插入一千条数据. 再将所有的数据查询并展示到前端页面 for i in range(1000): models.Book.objects.create(title='第%s 阅读全文
posted @ 2023-11-07 20:55 wellplayed 阅读(75) 评论(0) 推荐(0) 编辑
摘要:Q查询 作用: filter的字段筛选条件指定多个, 默认是and连接. 要实现or或者not需要借助Q查询 首先要导入模块 from django.db.models import Q Q(字段__条件=值) 连接条件:and or not # and的3种情况 1. filter中指定多个参数逗 阅读全文
posted @ 2023-11-06 21:24 wellplayed 阅读(865) 评论(0) 推荐(1) 编辑
摘要:F查询 作用: 能够帮助你直接获取到表中某个字段对应的数据 首先要导入模块 from django.db.models import F 用法一:查询卖出数大于库存数的书籍 res = models.Book.objects.filter(sale__gt=F('stock')) print(res 阅读全文
posted @ 2023-11-06 21:08 wellplayed 阅读(90) 评论(0) 推荐(1) 编辑
摘要:使用方式: 将页面的某一个局部当成模块的形式,哪个地方需要就可以直接导入使用即可 导入方式如下: 首先写好要导入的HTML页面 之后在需要导入处书写代码: {% include '被导入的页面.html' %} 阅读全文
posted @ 2023-11-06 17:14 wellplayed 阅读(22) 评论(0) 推荐(0) 编辑
摘要:可能是复制的时候class内缺少了 bs-example-modal-lg 导致的 修改代码如下: <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModa 阅读全文
posted @ 2023-11-01 17:09 wellplayed 阅读(79) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示