一种改进的url选择器,用于在内部模型和外部url之间进行选择
django-any-urlfield的Python项目详细描述
django any urlfield
any_urlfield模块提供了一个改进的url选择器 它同时支持指向内部模型和外部url的url。
这是CMS接口中的一个常见挑战; 如果提供一个URLField使得很难输入内部url, 在提供^ {TT3}$时,它太不灵活了。 这个包提供了两个世界。
有关详细信息,请参阅阅读文档中的documentation。
屏幕截图
安装
首先,最好在虚拟环境中安装模块:
pip install django-any-urlfield
将模块添加到已安装的应用程序:
INSTALLED_APPS+=('any_urlfield',)
使用量
将字段添加到django模型:
fromdjango.dbimportmodelsfromany_urlfield.modelsimportAnyUrlFieldclassMyModel(models.Model):title=models.CharField("Title",max_length=200)url=AnyUrlField("URL")
默认情况下,AnyUrlField只支持链接到外部页面。
注册AnyUrlField应支持链接的任何模型:
fromany_urlfield.modelsimportAnyUrlFieldAnyUrlField.register_model(Article)
现在,AnyUrlField为用户提供了一个下拉字段来直接选择一篇文章。
默认字段是django.forms.models.ModelChoiceField字段 使用django.forms.widgets.Select小部件。 这可以使用form_field和widget参数进行自定义:
fromany_urlfield.modelsimportAnyUrlFieldfromany_urlfield.formsimportSimpleRawIdWidgetAnyUrlField.register_model(Article,widget=SimpleRawIdWidget(Article))
它将Article模型显示为带有浏览按钮的原始输入字段。
贡献
本模块设计为通用模块。万一你有什么不喜欢的, 或者认为它不够灵活,请让我们知道。我们很乐意改进它!
如果你有其他有价值的贡献、建议或想法, 请也让我们知道,因为我们会调查的。 也欢迎拉取请求。:-)