Django窗体,支持使用启用标记的Select2输入的新项

django-select2-tags的Python项目详细描述


Build statusCoverage status

django-select2-tags提供一个表单类和表单字段来处理存储新的django模型 使用启用标记的Select2字段创建的值。目前这是一个粗略的计划; 它不能很好地处理所需字段,表单验证也不能将标记还原到输入。它可能 仍然帮助你,拉请求是受欢迎的!

使用Django1.10在Python2.7和3.5上测试。

喜欢我的工作?给我小费!https://www.paypal.me/jessamynsmith

安装

开发版本可以安装:

pip install -e git://github.com/jessamynsmith/django-select2-tags.git#egg=django-select2-tags

如果您是在本地开发,则可以从 工作目录:

python setup.py.install

用法

使用django-select2-tags的最简单方法是 select2_tags.forms.Select2ModelChoiceFieldselect2_tags.forms.Select2ModelMultipleChoiceField在的模型窗体中 django.db.models.ForeignKeydjango.db.models.ManyToManyField分别是模型字段。这些字段扩展 它们的django等价物并接受相同的参数,以及所需的value_field 参数和可选的save_new关键字参数。目前,这只适用于 可为空的模型字段,并且必须将required=False传递给选项字段。

如果使用select2_tags.forms.Select2ModelForm代替常规的modelform并设置 save_new=true在任何select2选项字段中,新值都将为您保存。

提供以下型号:

class MyRelatedModel(models.Model):
    name = models.CharField(max_length=20)


class MyModel(models.Model):
    my_fk_field = models.ForeignKey(MyRelatedModel, null=True, blank=True)
    my_m2m_field = models.ManyToManyField(MyRelatedModel)

您可以创建以下表单以自动保存select2标记值:

from select2_tags import forms


class MyFkForm(forms.Select2ModelForm):
    class Meta:
        model = MyModel
        exclude = []

    my_fk_field = forms.Select2ModelChoiceField(
        'name', queryset=test_models.MyRelatedModel.objects.all(), required=False)
    my_m2m_field = forms.Select2ModelMultipleChoiceField(
        'name', queryset=test_models.MyRelatedModel.objects.all(), required=False)

您将能够在编辑页上输入新值并将其保存到数据库中, 只要select2设置为已启用标记:

$("#id_my_fk_field").select2({
    tags: true
});

开发

在github上派生项目,git克隆您的fork,例如:

git clone https://github.com/<username>/django-select2-tags.git

创建一个virtualenv并安装依赖项:

mkvirtualenv django-select2-tags
pip install -r requirements/package.txt -r requirements/test.txt

运行覆盖率为100%的测试并检查代码样式:

coverage run manage.py test
coverage report -m
flake8

验证所有受支持的python版本:

pip install tox
tox

安装本地副本:

python setup.py install

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

推荐PyPI第三方库


热门话题
如何将java ArrayList对象转换为实际值   web服务如何在JAVA类uisng JAXBElement中解组SOAP UI值   包含无值参数的java HttpClient表单URL   运行简单Camel Restlet演示项目的java问题?   带有自定义图标的java简单SWT警报消息?   java Netbeans 6.8:LibImport可以工作,但编译时“包不存在”   java如何获得绘画完成的通知?   java Hazelcast客户端模式群集故障后如何恢复?   Neo4J中Shapefile的java批插入   为什么ThreadPoolExecutor在Eclipse和从命令行运行Java程序时表现不同?   java在Android中计算两个坐标之间的距离时得到了荒谬的值   java在CardLayout中显示卡本身的下一张卡