首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我似乎不能让django-ajax-选择工作

我似乎不能让django-ajax-选择工作
EN

Stack Overflow用户
提问于 2016-01-26 15:48:24
回答 2查看 1.7K关注 0票数 1

我遵循了django-ajax-select at 这个url的安装指南,但是没有发生任何事情:当我在呈现的字段中键入某些内容时,没有显示任何内容,也没有发送任何请求,等等。因为这个包是为管理员而做的,所以我必须在我的管理表中遗漏一些东西。

我做了以下工作:

settings.py

代码语言:javascript
复制
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”应用程序文件夹下)

代码语言:javascript
复制
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

代码语言:javascript
复制
class JobOfferForm(forms.ModelForm):
    city = AutoCompleteSelectField('city')
    class Meta:
        model = JobOffer

template.html

代码语言:javascript
复制
<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文件(但我不确定最后一个文件做了什么)。

I现在控制台中有一个禁止的(403)错误。我很确定这是因为我在ajax请求中没有一个crsf_token,尽管它是在形式上的。

EN

回答 2

Stack Overflow用户

发布于 2016-10-29 17:07:33

添加

代码语言:javascript
复制
{{ form.media }} 

会解决你的问题。

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

票数 3
EN

Stack Overflow用户

发布于 2016-02-05 18:26:54

我认为你需要定义这个方法

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35017961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档