names是django的一个可重用应用程序,它提供mixin、models和form字段来存储全名及其各个组件。

django-names的Python项目详细描述


名称

pypipypicodecovBuild Status

<名称>是Django的可重用应用程序,它提供混合、模型和表单字段。 存储全名及其各个组件。以下名称 支持组件:

  • 全名
  • 标题
  • 名字
  • 中间名
  • 姓氏
  • 后缀
  • 昵称

名称正式支持以下内容:

  • Python3.6-3.7
  • Django 1.11、2.0-2.2

目录

安装

要安装,只需使用pipenv(或pip):

>>> pipenv install django-names

names添加到INSTALLED_APPS设置:

INSTALLED_APPS=[..."names",]

运行迁移:

>>> python manage.py migrate names

基本用法

>>> from names.models import Name
>>> name= Name.objects.create(full="Natalia Alianovna 'Natasha' Romanova")
>>> name.full
'Natalia Alianovna Romanova (Natasha)'
>>> name.first
'Natalia'
>>> name.middle
'Alianovna'
>>> name.last
'Romanova'
>>> name.nickname
'Natasha'

功能

名字被设计成灵活的。它有三个主要功能:

  • ^{}:解析和存储全名的模型。
  • ^{}:提供与Name实例的一对一关系的模型字段。
  • {A15}:可用于扩展现有模型的MIXIN。

Name模型

Name模型包含存储全名及其 单个组件。

>>> from names.models import Name
>>> name= Name.objects.create(full="Anthony Edward Stark (Tony)")
>>> name
<Name: Anthony Edward Stark (Tony)>
>>> name.full
'Anthony Edward Stark (Tony)'
>>> name.title
''
>>> name.first
'Anthony'
>>> name.middle
'Edward'
>>> name.last
'Stark'
>>> name.suffix
''
>>> name.nickname
'Tony'

更新单个名称组件时,将更新全名 实例保存时自动执行。

>>> name.nickname ="Iron Man"
>>> name.save()
>>> name.full
'Anthony Edward Stark (Iron Man)'

NameField模型场

NameFieldName实例有一对一的关系。

fromnames.fieldsimportNameFieldclassUser(models.Model):name=NameField(on_delete=models.CASCADE)
>>> from names.models import Name
>>> name= Name.objects.create(full="Carol Susan Jane Danvers")
>>> User= User.objects.create(name=name)
>>> user.name.full
'Carol Susan Jane Danvers'
< H3> ^ {CD6> } Mixin < EH3> 继承了它的功能。你可以 使用此MIXIN扩展现有模型以避免添加字段 一对一关系或其他数据库表。

fromnames.mixinsimportNameModelMixinclassUser(NameModelMixin):pass
>>> user= User.objects.create(full="General Nicholas Joseph 'Nick' Fury")
>>> user.full
'General Nicholas Joseph Fury (Nick)'
>>> user.title
'General'

设置

names对所有设置使用NAME_SETTINGS命名空间。以下设置 支持:

最大长度

type <int>

< ^ ^ {{CD17>}的马克斯长度定义在^ {< CD6>}MIXIN中。

默认值:

100

字符串格式

type <str>

设置full字段的输出字符串。

默认值

"{title}{first}{middle}{last}{suffix} ({nickname})"

Learn more

Change the output string with string formatting

空属性默认值

type <str>

空名称属性返回的值。

默认值

""# empty string

选项

type <dict>

处理标题、前缀、后缀和连词的识别。OPTIONS设置为 非常强大,可用于自定义解析名称的方式。

默认值

"OPTIONS":{"TITLES":TITLES,"SUFFIX_NOT_ACRONYMS":SUFFIX_NOT_ACRONYMS,"CONJUNCTIONS":CONJUNCTIONS,"PREFIXES":PREFIXES,"CAPITALIZATION_EXCEPTIONS":CAPITALIZATION_EXCEPTIONS,"REGEXES":REGEXES,}

选项从^{}导入,后者是用于分析名称的库。

Learn more

Editable attributes

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java未从Facebook OAuth接收名字、姓氏和姓氏   我自己代码中的java ConcurrentModificationException   java在Android上获得单像素TIFF图像   java图形输出中的swing集成弹出窗口“通知”   将数据库表中的所有数据集插入jTable Java   java如何使用Hibernate获取不完整的集合?   打印无法从java连接到打印机   java使用分隔符拆分带引号的字符串   java Axis2禁用严格验证(wsdl2java中的Eosv)允许什么,如何使其更加严格?   java有人能帮我处理循环代码吗   java将JsonObject数组转换为整数   JavaXWiki扩展:检测事件空间创建   java如何设置图表的文本方向以使用poi旋转所有文本?   eche RecyclerView项的java Set自定义字体   java单元测试带有私有构造函数的spring组件,无需注入   用户界面如何在java中动态显示一组多个元素?   如何从java应用程序调用IDL(交互式数据语言)?   Java的内置库实现