【问题标题】:I can't seem to make django-ajax-selects work我似乎无法让 django-ajax-selects 工作
【发布时间】:2016-05-03 06:13:29
【问题描述】:

我已经按照this url 的 django-ajax-selects 安装指南进行操作,但仍然没有任何反应:当我在呈现的字段中输入内容时,什么都没有显示,发送 POST 请求等等。因为这个包是为管理员制作的,我一定是在我的非管理员表单中遗漏了一些东西。

我做了以下事情:

settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'fr',
    ...
    'ajax_select', # pip install django-ajax-selects
)

lookups.py(在“fr”应用文件夹下)

from ajax_select import register, LookupChannel
from fr.models.generalModels import City

@register('city')
class CityLookup(LookupChannel):

    model = City

    def get_query(self, q, request):
        return self.model.objects.filter(full_name__icontains=q)

    def format_item_display(self, item):
        return u"<span class='tag'>%s</span>" % item.full_name

forms.py

class JobOfferForm(forms.ModelForm):
    city = AutoCompleteSelectField('city')
    class Meta:
        model = JobOffer

模板.html

<script src="{% static 'ajax_select/js/bootstrap.js' %}"></script>
<script src="{% static 'ajax_select/js/ajax_select.js' %}"></script>
<link rel="stylesheet" type="text/css" href="{% static 'ajax_select/css/ajax_select.css' %}">
...
<form class="center-align card-panel" enctype="multipart/form-data" id="JobOfferForm" action="" method="POST">
    {% csrf_token %}
    {{ jobOfferForm.city }}
    {{ jobOfferForm.meta }}
</form>
...

我做错了什么?

编辑:看来我错过了 bootstrap.js 文件和 css 文件,以及 form.meta(但我不确定最后一个文件有什么作用)。
我现在有了控制台中出现禁止 (403) 错误。我很确定这是因为我在 ajax 请求中没有 crsf_token,即使它在表单中。

【问题讨论】:

  • 我已经解决了这个问题。看我的回答here

标签: django django-ajax-selects


【解决方案1】:

添加

{{ form.media }} 

会解决你的问题。

http://django-ajax-selects.readthedocs.io/en/latest/Outside-of-Admin.html

【讨论】:

    【解决方案2】:

    我认为你需要定义方法

    def format_match(self, obj):
        return self.format_item_display(obj)
    

    此方法将管理请求结果。 看这里:http://django-ajax-selects.readthedocs.org/en/latest/LookupChannel.html#lookups-py

    这里: https://github.com/crucialfelix/django-ajax-selects/blob/master/example/example/lookups.py

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 2011-11-30
      • 2015-09-20
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 2018-09-27
      相关资源
      最近更新 更多