django自动完成光模板加号

时间:2013-12-09 02:35:23

标签: python django-templates django-admin django-autocomplete-light

纽比在这里。我在django admin中使用django-autocomplete-light作为我的外键字段。 它工作得很好。但是一旦我选择了一个项目,加号就会被抛到项目下面。

加号是否有办法与所选项目保持一致以节省空间?

为清晰起见,

编辑 - 我正在使用django grappelli。 enter image description here

感谢django-autocomplete-light作者,jpic解释了如何覆盖模板和css。 好的我现在可以粘贴图片

在上图中,我有两个自动完成,公共电信实体(PTE)和天线。 自定义表单正在使用

class Meta: widgets = autocomplete_light.get_widgets_dict(Equipment) 

PTE的定义形式为

carrier = forms.ModelChoiceField(Carrier.objects.all(), 
                 label="Public Telecom Entity",    
                 widget=autocomplete_light.ChoiceWidget('CarrierAutocomplete', 
                 attrs='style':'width:520px;',})) 

但我没有定义天线。 我假设,此字段将使用Meta小部件。

1 个答案:

答案 0 :(得分:1)

加号是否有办法与所选项目保持一致以节省空间?

加号对我来说似乎没问题:

enter image description here

虽然没有按钮可以推动加号与所选项目保持一致以节省空间(这对我来说甚至都不清楚),您可以修改小部件的设计你喜欢的。这就是我将在这个答案中详述的内容。

覆盖小部件模板

您可以override模板autocomplete_light/widget.html

为此,请将/path/to/autocomplete_light/templates/autocomplete_light/widget.html复制到您autocomplete_light之一的TEMPLATE_DIRS子目录中。例如:

mkdir ~/your_project/templates/autocomplete_light
cp ~/env/lib/python/site-packages/autocomplete_light/templates/autocomplete_light/widget.html ~/your_project/templates/autocomplete_light

重新启动您的服务器,您可以安全地修改~/your_project/templates/autocomplete_light/widget.html

覆盖样式表

样式表也是如此。您需要做的就是将其从autocomplete_light/static/autocomplete_light/style.css复制到STATICFILES_DIRS之一。如果您仍然不确定django staticfiles work的方式,可能需要阅读Surviving staticfiles。例如:

mkdir ~/your_project/static/autocomplete_light
cp ~/env/lib/python/site-packages/autocomplete_light/static/autocomplete_light/style.css ~/your_project/static/autocomplete_light

重新启动您的开发服务器,您可以安全地修改~/your_project/static/autocomplete_light/style.css 以满足您的需求。

如果您认为自己有更好的方法

如果您认为您对autocomplete-light v1附带的默认小部件有了更好的了解,请随意在github上打开拉取请求。