原文 - Java Naming Conventions - By Lokesh Gupta Java 命名约定体提一种指导规范,在应用开发的过程中,程序开发者遵守这些指导规范来产出一致且易读的代码...Java 中广泛使用驼峰规则来命名方法,变量等,并使用首字母大写命名类和接口。 下面,我们用案例来说明这些命名规则。 1....包命名 包命名必须是以全部小写的域名(比如:com, org, net, etc) 开始的一组单词。包名的后续部分可以根据自身的内部命名预定而有所不同。...常量命名约定 Java 常量应该是全大写的字符,多个字符之间使用 _ 字符来连接。 请确保在常量中使用 final 修饰符。...泛型命名约定 泛型参数名应该是单个大写的字符。推荐使用 T 字母。在 JDK 类中,字母 E 通常用于作为集合类中,字母 S 通常用于服务加载类中,字母 K 和 V 通常用于映射类中的键和值的类型。
在编程中,有两个极具挑战性的任务:缓存失效和命名事物。今天,我们将深入探讨后者,探索为Vue组件命名props的艺术。 在给 props 命名时,遵循已有的变量命名惯例是非常重要的。...例如,使用小驼峰命名法(isEnabled)并保持名称简短(不超过30个字符)。 然而,Vue有自己的一套最佳实践,我们应该遵循。让我们根据我在使用Vue的经验谈谈一些技巧。...描述性命名 Props 应该描述组件本身,侧重于它的功能而不是为什么要这样做。避免以当前用户或环境命名 props。... 避免将 props 命名为子组件。...按照这些准则,我们可以为Vue应用程序建立一致且有意义的 prop 命名约定。周到的 prop 名称有助于提高代码的可读性和可维护性,使你和团队更容易有效地合作。
命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重, 所以不管你怎么想, 规则总归是规则. 6.1. 通用命名规则 函数命名,变量命名,文件命名要有描述性;少用缩写。...文件命名 文件名要全部小写, 可以包含下划线 (_) 或连字符 (-). 按项目约定来. 如果并没有项目约定,”_” 更好。...所有类型命名 —— 类, 结构体, 类型定义 (typedef), 枚举 —— 均使用相同约定....或 class, 参照 pos 的形式 sparse_hash_map: STL 相似实体; 参照 STL 命名约定 LONGLONG_MAX: 常量, 如同 INT_MAX 译者(acgtyrant...)笔记 感觉 Google 的命名约定很高明,比如写了简单的类 QueryResult, 接着又可以直接定义一个变量 query_result, 区分度很好;再次,类内变量以下划线结尾,那么就可以直接传入同名的形参
在日常学习工作过程中,我们难免需要复用以前的项目,这里讲下复用 Django 项目并重命名的过程。 1.修改项目名称,使用 pycharm -> refactor 重命名整个项目。 ?...2.修改 manage.py 和 Django 下和项目名称相同的文件夹,使用 grep 指令找出和项目有关的字符串,如: grep 'test4' *.py ? 逐一修改。...4.删除原有的Django server 的 configuration 配置,重新配置一个,修改环境变量。 ?
尽量遵循 GORM 已有的约定,但是如果约定不符合需求,也可以自定义配置,从而改变已有约定,达到满足需求的目的。...02 模型定义 与使用 Go 标准库 sql 包操作数据库表相同,使用 GORM 操作数据库,也需要先声明模型,模型一般是基于 Go 语言的基础数据类型、实现了 Scanner 和 Valuer 接口的自定义类型...如果约定与需求不符,可以自定义配置。...当然,你可以按照自己的需求自定义约定项。...,GORM 的标签不区分大小写,推荐使用驼峰式命名。
交互式解释器中的特殊变量在Python REPL中,_保存最后一次表达式的结果:>>> 3 + 47>>> _ + 29二、单下划线前缀:保护成员以单下划线开头的变量或方法表示"protected"成员,这是一种命名约定而非强制限制..._ = "example" # 避免与type内置函数冲突四、双下划线前缀:名称改写(Name Mangling)双下划线前缀会导致Python解释器对名称进行改写,主要用于避免子类中的命名冲突...case 404: print("Not found") case _: # 匹配任何值 print("Unknown status")七、下划线使用的最佳实践遵循命名约定...:使用_前缀表示protected成员,__前缀表示private成员不要滥用名称改写:除非确实需要避免子类命名冲突,否则慎用__前缀特殊方法不要自定义:只实现Python定义的特殊方法,不要自创__方法保持一致性..._前缀:命名约定,提示protected成员__前缀:名称改写,避免子类命名冲突__前后缀:Python特殊方法Q2: 为什么我的__private变量还能被访问?
Django模型简化了任务并将表组织到模型中。通常,每个模型都映射到单个数据库表。 本文围绕如何使用Django模型方便地将数据存储在数据库中展开。...此外,我们可以使用Django的管理面板来创建,更新,删除或检索模型的字段以及各种类似的操作。Django模型提供了简单性,一致性,版本控制和高级元数据处理。...模型的基础包括– 每个模型都是一个子类的Python类django.db.models.Model。 模型的每个属性代表一个数据库字段。...使用Django模型 要使用Django模型,需要在其中运行一个项目和一个应用程序。启动应用程序后,可以在app / models.py中创建模型。...Django模型中的内置字段验证是所有Django字段预定义的默认验证。
使用实例命名空间,针对于一个app而言。...book/views.py from django.http import HttpResponse from django.shortcuts import render,redirect,reverse...from django.urls import resolve # Create your views here. def index(request): username = request.GET.get...,b): sum=a+b return HttpResponse("path:{}".format(request.path)) book/urls.py from django.urls...import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls
模型类必须继承自Model类,位于包django.db.models中。 提示:对于重要数据使用逻辑删除。...,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...属性命名限制: 不能是python的保留关键字。 不允许使用连续的下划线,这是由django的查询方式决定的。...当没有为模型类定义管理器时,Django会为每一个模型类生成一个名为objects的管理器,自定义管理器后,Django不再生成默认管理器objects。...books = models.Manager() 管理器Manager 管理器是Django的模型进行数据库操作的接口,Django应用的每个模型类都拥有至少一个管理器。
每个模型对 应数据库中唯一的一张表 如何编写模型 模型:每个模型都用一个类表示,该类继承自django.db.models.Model。...字段选项——unique 如果该值设置为True,这个字段的值在整张表中必须是唯一的 模型meta选项 使用内部的class Meta 定义模型的元数据,例如: from django.db import...当你通过db_table覆写表名称时,强烈推荐使用小写字母给表命名 meta选项——order 对象默认的顺序,获取一个对象的列表时使用 class Meta: ordering = ['-order_date...来表示随机排序 编写服务器模型 数据库迁移 迁移是Django用于同步你的发生改变的模型(添加一个字段,删除一个模型,等等)到你的 数据库 迁移命令 makemigrations, 负责基于你的模型修改创建一个新的迁移...你可以从模型的管理器那里取得查询集。每个模型都至少有一个管理器,它默认命名为 objects。
Django模型 Django的模型定义在models.py文件中。模型是MVT中的M,也相当于MVC中的M。 在Django中,模型必须继承自Model类。...class BookInfo(models.Model): # 一个模型类就会对应生成数据库中的一张表 """书籍模型""" name = models.CharField...,Django默认以小写app应用名_小写模型类名为数据库表名,一般我们会通过db_table指明数据库表名。...django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...下面是另外一个模型,和前面的BookInfo模型通过外键关联起来。
在多个app下有相同函数时,可能会出现混乱,这时要给每个app取名 基本目录: settings.py INSTALLED_APPS = [ 'django.contrib.admin',...'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages...', 'django.contrib.staticfiles', 'book', 'news', ] book/views.py from django.http import...HttpResponse from django.shortcuts import render,redirect,reverse # Create your views here. def index...import HttpResponse from django.shortcuts import render,redirect,reverse # Create your views here.
知道Django某一个功能的用途,比单纯地知道怎么用更有用。 今天我们要学习的内容是Django的页面跳转,重点讲的是使用url里的name参数 一、url设置name属性 1....注意:使用反转路径名的方法,需要导包from django.shortcuts import reverse。 4....中通过模板语言调用url的名称, 模板语言里使用url传递参数可以写成这样: {% url 'login' username='xiaoyu' password='123' %} 二、多app下URL命名...这时候我们就在各自app的urls中添加命名空间 app_name = 'app01' 然后在重定向访问指定url名称的时候,添加命名空间属性即可。...下一节,我们将介绍Django下html页面中的模板语言DTL,感谢大家的阅读~
定义模型类 在模型中定义属性,会生成数据库表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django...会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列 属性命名限制 不能是python的保留关键字 由于django的查询方式,不允许使用连续的下划线...定义模型属性 定义属性时,需要字段类型 字段类型被定义在django.db.models.fields目录下,为了方便使用,被导入到django.db.models中 使用方式 导入from django.db...模型类的管理器 objects:是Manager类型的对象,用于与数据库进行交互 当定义模型类时没有指定管理器,则Django会为模型类提供一个名为objects的管理器 支持明确指定模型类的管理器...Django的模型进行数据库的查询操作的接口,Django应用的每个模型都拥有至少一个管理器 自定义管理器类主要用于两种情况 向管理器类中添加额外的方法创建管理器对象保存数据到数据库 class TestInfoManager
模型字段类型>>> https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types InterField CharFiled...2.1/ref/models/fields/#field-options primary_key auto_dreated unique指定是否为唯一 auto_now >> 通过模型类上的管理器来构造... 模型类上的管理器(class.objects) queryset (惰性,,没有操作数据库)表示数据库中对象的集合,等同于select 语句 query 获取mysql 语句 first()...*kwargs) 根据给定的条件获取过滤后的queryset,多个条件用','连接 exclude(**kwargs) 作用和filter相反,去除不符合条件的对象 多条件的or连接 from django.db.models... gt 大于 gte 大于等于 lt lte startswith istartswith endswith iendswith isnull True False 聚合 django.db.models
模型关系 关系数据库的威力体现在表之间的相互关联,Django提供了三种最常见的数据库关系:多对一 (many-to-one),多对多(many-to-many),一对一(one-to-one)...多对一关系 多对多关系 一对一关系 多对一 django是使用django.db.models.ForeignKey 定义多对一关系 ForeignKey需要一个位置参数来指定本Model关联的Model...,ForeignKey关联的Model 是"一", ForeignKey所在的Model是"多" 比如汽车和制造商的例子,一辆汽车只能属于一个制造商,但是一个制造商有多辆汽车,这个关系,用Django...所在的模型) 如果模型有一个ForeignKey,那么该ForeignKey 所指的模型实例可以通过一个管理器返回前一个有ForeignKey的模型的所有实例。...ManyToManyField 的名字 在哪个模型中设置 ManyToManyField 并不重要,在两个模型中任选一个即可——不要在两个模型中都设置 一对一 一对一是通过django.db.models.OneToOneField
ORM简介 对象关系映射(Object Relation Mapping)实现了关系和数据库之间的映射,隐藏了关系数据访问的细节,不需要再编写SQL语句 创建模型 在models.py的文件中创建类 继承...models.Model from django.db import models class BookInfo(models.Model): title = models.CharField...(max_length=20) pub_date = models.DateField() 数据迁移 1生成迁移文件:根据模型类生成创建表的迁移文件。...OK Django默认采用sqlite3数据库,最终会生成如下数据表,其中自定义的表命名规则是(应用名称模型类名) DATABASES = { 'default...': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3
下划线在命名中的约定(Underscores in Python) 作者: quantgalaxy@outlook.com blog: https://blog.csdn.net/quant_galaxy...介绍 在各种python编码规范中,都对命名规则做了很详细的约定。 但是下划线和变量名称的组合,在python中都有特定的含义。...这些含义有些是一种认为约定,有些是python解释器严格执行的准则。 有必要掌握这些约定,来写出专业的代码。 2....and a Double Trailing Underscore): __variable__ 单下划线(Only Single Underscore): _ 后面我们就针对这5种和下划线组合相关的变量约定...除了变量以外,函数命名也是一样的规则。 所以这里它是由Python解释器强制执行的。 总结: 单前下划线在类成员命名中,约定是在类内部可见。实际访问是不受限制的。
:hname 英雄性别:hgender 英雄简介:hcontent 所属图书:hbook 图书-英雄的关系为一对多 数据库配置 在settings.py文件中,通过DATABASES项进行数据库设置 django...支持的数据库包括:sqlite、mysql等主流数据库 Django默认使用SQLite数据库 创建应用 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理 创建应用的命令: python manage.py...startapp booktest 应用的目录结构如下图 定义模型类 有一个数据表,就有一个模型类与之对应 打开models.py文件,定义模型类 引入包from django.db import...models 模型类继承自models.Model类 说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长 当输出对象时,会调用对象的str方法 from django.db import models...,HeroInfo from django.utils import timezone from datetime import * 查询所有图书信息: BookInfo.objects.all() 新建图书信息
正确的模型命名和关系字段命名。 设置适当的related_name属性。 用OneToOneField代替ForeignKeyField(unique=True)。...通过“迁移操作”(migrate)来添加模型。 用NoSQL来应对需要降低范式级别的场景。 如果布尔类型可以为空要使用NullBooleanField。 在模型中放置业务逻辑。...模型定义参考 字段 对字段名称的限制 字段名不能是Python的保留字,否则会导致语法错误 字段名不能有多个连续下划线,否则影响ORM查询操作 Django模型字段类 字段类 说明 AutoField...on_delete:外键关联的对象被删除时对应的动作,可取的值包括django.db.models中定义的: CASCADE:级联删除。...through:指定维持多对多关系的中间表的Django模型。 throughfields:定义了中间模型时可以指定建立多对多关系的字段。 db_table:指定维持多对多关系的中间表的表名。