我试图弄清楚django_ajax_selects并挣扎;要么文档错误/不清楚,要么我是个白痴。 或两者兼而有之。
我只是想让基础知识正常工作,然后我会让它加快速度。 我显示了该字段,但是当我输入任何字符时没有输出。
在文档中,我对 admin.py 和 urls.py 字段特别困惑。 我希望该字段显示在面向用户的模板/表单上,而不是在管理员中,因此我认为该部分不适用于我。 但是,如果我应该修改那里的东西以适应我所拥有的,我不知道用什么。
这是我到目前为止所拥有的:
settings.py
AJAX_LOOKUP_CHANNELS = {
'owner' : {'model': 'auth.user', 'search_field: 'username'},
}
urls.py
url(r'^admin/lookups/', include(ajax_select_urls)),
#pretty much directly from the docs, but I doubt it's correct for what I'm doing.
forms.py(尝试了两种方法来制作字段 - 不确定为什么会使用一种而不是另一种)
class ApplicationForm(forms.ModelForm):
# owner = make_ajax_field(Application, 'owner', 'owner')
owner = AutoCompleteSelectField('owner', required=False, help_text=None)
class Meta:
model = Application
fields = ['name', 'owner']
这似乎很简单,除了 urls.py 和 admin.py,所以我认为这就是我出错的地方?
按照文档操作后,我遇到了同样的问题。确保在 html 中添加所有必需的 Javascript 文件和 jQuery 文件。文档中没有提到它,我使用了以下内容来使其工作:
<link href="/static/ajax_select/css/ajax_select.css" type="text/css" media="all" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js"></script>
<!-- Custom styles for this template -->
<script type="text/javascript" src="/static/ajax_select/js/ajax_select.js"></script>
安装软件包时,ajax_select .js和.css文件随包一起提供,您只需确保从静态文件夹正确提供它们,以便在运行测试服务器时显示 js 和 css 文件。我使用了一个虚拟环境并使用pip来安装它。尝试从浏览器中使用开发工具,查看文件是否获得正确的 HTTP 代码 200 OK 或 304。
正如@professorDante在评论中所说,如果它与管理员无关,请从您的 url 中删除admin/
。