publish

导包补充,深度查询(深度序列化),十大接口

百般思念 提交于 2020-03-11 09:12:02
目录 一、导包补充 二、深度查询 1. 子序列化和 depth方法 (1)什么是子序列化 (2) __all__ 方法 exclude方法 (3)子序列化实例 2. 插拔式 三、十大接口 1. 十大接口中注意点(很重要) 2. 实例 一、导包补充 在导包时,如果用 from 文件1 import * ,则文件1中的以下划线开头的变量,都不能访问。无论是单下划线还是双下线。 用 import 文件1 的方式,还是能访问到文件1中以下划线开头的变量,没有影响。 当我们用 from 文件1 import * 的方式导包时,怎么才能访问到其中以下划线开头的变量呢,解决方法如下 # 解决方法: 使用 __all__方法将下划线开头的变量储存。 # __all__本来就默认包含普通的变量,所以自己重写__all__时,要把普通变量也加上 # 例子 # 文件1中: x = 10 _y = 20 __z = 30 __all__ = ['x','_y','__z'] # 文件2中 from 文件1 import * print(x, _y, __z) # 结果: 10 20 30 二、深度查询 深度查询主要是用在:当给前端数据时,要求带有与当前表有关联的其他表的某些数据。通过连表操作,将关联表中的数据一起序列化 外键字段默认显示的是外键值(int类型),不会自己进行深度查询

Python学习第三十三课——ORM(多表查询,多对多)以及双下划线的用法(重要)

蹲街弑〆低调 提交于 2020-03-10 09:48:51
除了modios.py和views.py其他都与前面的一样: modios.py 要建立多对多的关系 from django.db import models # Create your models here. # 一对多建表 class Book(models.Model): # 表名 name = models.CharField(max_length=20) # name字段 price = models.IntegerField() # 字段 pub_date = models.DateField() # 字段 publish = models.ForeignKey("Publish", on_delete=models.CASCADE) # Publish 是下面的类 author = models.ManyToManyField("Author") # 建立多对多的关系 def __str__(self): return self.name class Publish(models.Model): # 一个出版社可以出多本书,按道理一般将外键建立到多的一方 name = models.CharField(max_length=32) city = models.CharField(max_length=32) def __str__(self): return

2 APIView与序列化组件

假装没事ソ 提交于 2020-03-09 19:00:44
1、入门 1.1 参考blog 官方文档: http://www.django-rest-framework.org/tutorial/quickstart/#quickstart yuan的Blog: http://www.cnblogs.com/yuanchenqi/articles/8719520.html alice的Blog: https://www.cnblogs.com/alice-bj/p/9228402.html 1.2 restful协议 restful协议 ---- 一切皆是资源,操作只是请求方式 ----book表增删改查 /books/ books /books/add/ addbook /books/(\d+)/change/ changebook /books/(\d+)/delete/ delbook----book表增删改查 url里面不能出现动词!! /books/ -----get books ----- 返回当前所有数据 /books/ -----post books ----- 返回提交数据 /books/(\d+)-----get bookdetail ----- 返回当前查看的单条数据 /books/(\d+)-----put bookdetail ----- 返回更新数据 /books/(\d+)-----delete

序列化组件之ModelSerializer类

╄→尐↘猪︶ㄣ 提交于 2020-03-08 17:58:48
目录 一、基于ModelSerializer类实现序列化器 1.1 实现序列化组件 1.2 使用序列化组件 1.3 视图类给序列化类传参 1.4 通过source可以连接到数据库中的字段 二、连表序列化 2.1 自定义插拔序列化方法属性 2.2 连表序列化的其他知识点 三、子序列化 四、基于序列化组件实现十大接口 4.1 设置关联自己的ListSerializer,重写ListSerializer的 update方法 序列化与反序列功能可以整合成一个类,该类继承ModelSerializer 一、基于ModelSerializer类实现序列化器 例如,我们以及有了一个 数据库模型类User class User(models.Model): sex_choice = ((0,"男"),(1,"女")) name = models.CharField(max_length=32,unique=True) age = models.IntegerField(null=True) height = models.DecimalField(max_digits=5,decimal_places=2,null=True) sex = models.IntegerField(choices=sex_choice,default=0) icon = models.ImageField

Microsoft.Office.Interop.Excel.Application() Access denied After Publish

China☆狼群 提交于 2020-03-06 04:21:08
问题 Exception: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). I am trying to generate excel file and it is working fine on debugging on visual studio 2015 but as we publish it and run through IIS its start giving this exception... tried run -> mmc -32 -> component services –> Computers –> My Computer –> DCOM Config and configuration

drf序列化组件实现十大接口

孤街醉人 提交于 2020-03-05 20:39:53
目录 序列化字段了解配置 response二次封装 连表深度查询 单查群查 单增群增 单删群删 整体单改群改 局部单改群改 序列化字段了解配置 了解配置: fields = '__all__' exclude = ['name'] 排除name字段 depth = 2 自动深度,值代表深度次数,但是被深度的外键采用__all__,显示所有字段 response二次封装 from rest_framework.response import Response class APIResponse(Response): def __init__(self, status=0, msg='ok', results=None, http_status=None, headers=None, exception=False, content_type=None, **kwargs): # 将status、msg、results、kwargs格式化成data data = { 'status': status, 'msg': msg, } # results只要不为空都是数据:False、0、'' 都是数据 => 条件不能写if results if results is not None: data['results'] = results # 将kwargs中额外的k-v数据添加到data中

DRF序列化组件实现十大接口

冷暖自知 提交于 2020-03-05 20:39:27
目录 基表的概念 表关系的建立 DRF中Response类二次封装 连表查询 depth配置查询深度 插拔式自定义序列化字段连表查询 子序列化 实现十大接口 单查群查 单删群删 单增群增 整体单改群改 局部单改群改 基表的概念 abstract = True # 基表 class BaseModel(models.Model): is_delete = models.BooleanField(default=False) create_time = models.DateTimeField(auto_now_add=True) class Meta: # 基表,抽象类 abstract = True class Book(BaseModel): pass class Publish(BaseModel): pass 表关系的建立 通常我们在实际开发项目中我们的数据库各种表是不建立外键关联表的,是为什么呢? 因为我们在建立了外键关系之后,随着业务发展,表越来越多,外间关系越来越复杂,假如有一天表字段可能有问题,需要重构什么的,需要删除掉,那会发现删不掉了,因为和其他很多表都建立了外键关系,这时候我们的数据库断开关联表关系的优点就体现出来了: 断关联表不会影响连表的查询操作 还有助于提升连表增删改操作的效率 最重要的一点是方便后期的扩展与重构 那么他的缺点就是数据库本身没有连表的检测

Publish selected files ASP.NET, Visual Studio 2008

橙三吉。 提交于 2020-03-05 05:47:09
问题 I have a ASP.NET Web Application Is there any way we can publish only selected files from Visual Studio 2008. I have already published the site, now I have made some modifications to some of the code files and I want to publish only few code files not all the changed files.. Is there any way we can achieve this ?? 回答1: On the Publish Web screen, if you choose "Replace matching files with local copies" instead of "Delete all existing files prior to publish" then it will only publish the files

二、Docker部署应用

落爺英雄遲暮 提交于 2020-03-04 06:21:54
一、有关Docker的安装请参考 docker官网 Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)。 Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选。Docker CE 有两个更新渠道,即 stable 和 edge: Stable 每个季度为您提供可靠更新 Edge 每个月为您提供新功能 支持的平台 二、Docker 安装Asp.Net Core镜像-有关镜像安装请参考 https://hub.docker.com 1、打开 https://hub.docker.com 右上角搜索dotnet,选择第一个搜索结果microsoft/dotnet,点进去如下图 切换到命令行窗口运行以下命令来安装asp.net core 镜像 docker pull microsoft/aspnetcore   如果我们想拉取指定的aspnetcore版本,可使用如下命令: docker pull microsoft/aspnetcore:1.0 docker pull microsoft/aspnetcore:2.0   之后执行以下命令查看是否拉取成功: docker images   在dockerhub官网中有着dotnet和aspnetcore的镜像,dotnet可以看作是集大成者,包含了

maven publish aar 打包第三依赖方法

吃可爱长大的小学妹 提交于 2020-03-02 17:55:46
问题描述 aar打包到maven库之后,引用的时候发现报错,具体原因是aar包中的第三方库的类没有找到。 问题分析: 通过maven库引用aar包,之所以可以引用第三方依赖库,是因为同时打包生成的pom文件中包含了对第三方库的依赖,如果pom文件中没有对应依赖,则在使用方会报ClassNotFound异常。 解决方案: 既然知道了造成问题的原因,方案就很简单了,在生成pom文件的时候同时打包对应的依赖就好了,核心代码就是pom.withXml(),这段代码的原理就是在pom.xml中插入dependencies中的引用。 demo.gradle publishing { repositories { maven { url mavenConfig . snapshots . url credentials { username = mavenConfig . snapshots . username password = mavenConfig . snapshots . password } } } publications { xxx_module ( MavenPublication ) { artifact "build/outputs/aar/xxx_module-release.aar" groupId mavenConfig . groupId // groupId