【问题标题】:django-postman + django-ajax-selects usagedjango-postman + django-ajax-selects 用法
【发布时间】:2015-10-20 08:38:58
【问题描述】:

所以我刚刚开始使用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/,当我填写收件人输入时,没有任何反应。

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

【问题讨论】:

    标签: python django django-ajax-selects


    【解决方案1】:

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

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

    我想这就是它。

    【讨论】:

      猜你喜欢
      • 2012-04-30
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 2015-01-04
      • 2011-06-19
      • 2014-06-14
      相关资源
      最近更新 更多