所以我刚刚开始使用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/,当我填写收件人输入时没有任何反应。
我缺少什么?这不应该只适用于这些设置吗?
答案 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'),
我认为这是关于它的。