1

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

设置.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.userto更改,model='auth.user但它不起作用。

网址.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/,当我填写收件人输入时,没有任何反应。

我错过了什么?这不应该只使用这些设置吗?

4

1 回答 1

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'),

我想这就是它。

于 2015-09-16T13:50:15.300 回答