Django的PowerDNS管理应用程序
django-powerdns-dnssec的Python项目详细描述
欢迎使用Django的PowerDNS应用程序。
此应用程序允许轻松管理存储在 利用标准django管理应用程序的sql数据库。您也可以使用 django powerdns应用程序作为一个大型项目的一部分 修改DNS记录。
注意:这是一个经过更新和增强的django-powerdns分叉,从 2012年11月。
快速启动
只需将powerdns和lck.django.common添加到 settings.py。使用south进行数据库迁移。
自定义资源记录类型
如果不使用dnssec或其他不太常见的记录类型,可以 通过指定应用程序的类型序列,进一步简化用户界面 应该用。只需将它放入您的settings.py:
POWERDNS_RECORD_TYPES = ( 'A', 'AAAA', 'CNAME', 'HINFO', 'MX', 'NAPTR', 'NS', 'PTR', 'SOA', 'SRV', 'TXT', )
有关list of supported resource record types,请参阅powerdns文档。
为powerdns使用单独的数据库
如果django应用程序使用的数据库与 powerdns,在settings.pyas中提供dns数据库的配置 DATABASES中的单独条目,例如:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'project_db', 'USER': 'user', 'PASSWORD': 'secret', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { "init_command": "SET storage_engine=INNODB", }, }, 'powerdns': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'powerdns', 'USER': 'pdns', 'PASSWORD': 'pdns', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { "init_command": "SET storage_engine=INNODB", }, }, }
为了让django自动将powerdns请求路由到正确的数据库, 将此设置添加到settings.py:
DATABASE_ROUTERS = ['powerdns.routers.PowerDNSRouter']
必须同步并迁移default和powerdns数据库 另外。首先是默认数据库:
$ python manage.py syncdb $ python manage.py migrate
然后powerdns数据库:
$ python manage.py syncdb --database=powerdns $ python manage.py migrate --database==powerdns powerdns
请注意,powerdns数据库将维护自己独立的south 迁移历史表。如果您将几个 django项目到单个powerdns数据库。
还要注意,由于South limitations,migrate将创建所有powerdns 表也在默认数据库中。这是无害的,尽管会产生一些 杂乱无章。
更改日志
0.9.3
- 已修复问题3:如果未指定类型,则在记录管理窗体中为http 500
0.9.2
- 已修复问题2:管理中IP地址的数字排序
0.9.1
- 域外键支持自动完成,并具有“单独编辑”链接
- 字段选择只要有意义就使用收音机选择(fever clicks 必须)
- 正向/反向域筛选器(需要django 1.4+)
- 0.9.0中的0002数据库迁移不完整,现已修复
0.9.0
- 支持DNSSEC表。
- 支持多个数据库。
- 更新了项目要求至少django 1.3。
- 支持用户界面翻译(目前增加了波兰语翻译)。
- 南迁。
- 源代码符合PEP8。
- 小修小修。
0.2.0
- 具有基本powerdns支持的第一个版本。