【问题标题】:django autocomplete-light template plus signdjango autocomplete-light 模板加号
【发布时间】:2013-12-09 02:35:23
【问题描述】:

这里是新手。我在 django admin 中使用 django-autocomplete-light 作为我的外域键。 它工作得很好。但是一旦我选择了一个项目,加号就会出现在项目下方。

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

EDIT 为清楚起见 - 我正在使用 django grappelli。

感谢 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 小部件。

【问题讨论】:

  • 什么版本的 autocomplete-light ?你试过 v2 吗?
  • 我目前正在使用 django-autocomplete-light==1.2.3

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


【解决方案1】:

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

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

虽然没有按钮可以推动加号与所选项目保持一致以节省空间(我什至不清楚),但您可以修改小部件的设计随心所欲。这就是我将在此答案中详细说明的内容。

覆盖小部件模板

你可以override模板autocomplete_light/widget.html。

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

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 上打开拉取请求。

【讨论】:

  • 我将仔细研究如何覆盖您的 widget.html。现在我正在使用自定义表单,通过定义字段来解决我的问题。即使在选择后它确实删除了加号,但给我一个限制用户添加新记录的新问题。新手权衡问题。
  • 我会在 2.1.0 中改进对 grappelli 的支持。
猜你喜欢
  • 2018-09-20
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 2021-09-30
  • 2017-03-26
  • 1970-01-01
  • 2015-10-15
  • 2013-01-06
相关资源
最近更新 更多