django-postman + django-ajax-选择用法

时间:2015-07-29 11:29:30

标签: python django django-ajax-selects

所以我刚刚开始使用django-postman==3.2.2,我正在尝试使用django-ajax-selects==1.3.6集成自动完成功能,同时使用django-authtools==1.2.0拥有一个没有运气的自定义用户模型。

settings.py

AJAX_LOOKUP_CHANNELS = {
    'postman_users': dict(model='authtools.user', search_field='email'),
}
POSTMAN_AUTOCOMPLETER_APP = {
    'arg_default': 'postman_users',
}
AUTH_USER_MODEL = 'authtools.User'

我尝试从model='authtools.user更改为model='auth.user但不起作用。

urls.py

from ajax_select import urls as ajax_select_urls

url(r'^messages/lookups/',
        include(ajax_select_urls)),
url(r'^messages/', include('postman.urls')),

然后我转到内置的邮递员视图http://localhost:8000/messages/write/,当我填写收件人输入时没有任何反应。

我缺少什么?这不应该只适用于这些设置吗?

1 个答案:

答案 0 :(得分:0)

作为一种解决方法,我最终使用django-autocomplete-light,我发现它比django-ajax-selects更容易使用和理解 然后我创建了自己的扩展表单并传递给写视图:

class MyCustomWriteForm(BaseWriteForm):
    recipients = autocomplete_light.ChoiceField(
        'UserAutocomplete', label='recipients')

    class Meta(BaseWriteForm.Meta):
        fields = ('recipients', 'subject', 'body')

在我的urls.py中:

url(r'^messages/write/(?:(?P<recipients>[^/#]+)/)?$', WriteView.as_view(form_classes=(MyCustomWriteForm, AnonymousWriteForm)), name='write'),

我认为这是关于它的。