names是django的一个可重用应用程序,它提供mixin、models和form字段来存储全名及其各个组件。
django-names的Python项目详细描述
名称
<名称>是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
模型
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
模型场
NameField
与Name
实例有一对一的关系。
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
命名空间。以下设置
支持:
- MAX_LENGTH
- STRING_FORMAT
- EMPTY_ATTRIBUTE_DEFAULT
- OPTIONS
- 标题
- 名字标题
- 后缀缩写
- suffix_not_首字母缩写
- 连词
- 前缀
- 资本化例外
- 正则表达式
最大长度
type <int>
默认值:
100
字符串格式
type <str>
设置full
字段的输出字符串。
默认值
"{title}{first}{middle}{last}{suffix} ({nickname})"
Learn more
空属性默认值
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